vuex状態管理VUEX状態管理

VUEX状態管理

VUEXはVUEが提供する状態の管理ツールである、彼が行うことができ、具体的何、例えば、ビジネス・シナリオがあります:

ユーザーがサインインすると、あなたは彼のログイン情報を設定することができます。ユーザーは、ユーザーのログイン情報を表示することができ、ホーム・ページにアクセスしてください。

実際には、異なる構成要素間で情報を共有するために使用されます。

私たちは、使用  VUE-要素管理者を  VUEXの使用を説明するために、例えば、。

// 店/ index.jsは

からのVueをインポートする「VUE」
からインポートVuex「vuex」
からの輸入ゲッター「./getters' 
からの輸入アプリ」./modules/app「
インポート設定から」./modules/settings' 
輸入ユーザから './modules/user' 

Vue.use(Vuex)


CONSTストア = 新しいVuex.Store({ 
  モジュール:{ 
    アプリケーション、
    設定、
    ユーザ
  }、
  ゲッター、
  プラグイン:[ 
     
] 
})

エクスポートデフォルトストア

ビルド店舗、店舗・サポート・モジュールは、この店では三つのモジュールがあります。

アプリモジュールの定義

// モジュール/ app.js 

からインポートクッキーを 'JS-クッキー' 

CONST状態 = { 
  サイドバーは:{ 
    開か:Cookies.get( 'sidebarStatus')?!! + Cookies.get( 'sidebarStatus'):
    withoutAnimation:
  }、
  装置: 'デスクトップ' 
} 

CONST変異 = { 
  TOGGLE_SIDEBAR:状態 => { 
    state.sidebar.opened =!state.sidebar.opened 
    state.sidebar.withoutAnimation = falseの
    場合(state.sidebar.opened){ 
      Cookies.setは('sidebarStatus'、1 
    } { 
      Cookies.set( 'sidebarStatus'、0 
    } 
  }、
  CLOSE_SIDEBAR:(状態、withoutAnimation) => { 
    Cookies.set( 'sidebarStatus'、0 
    state.sidebar.opened = 偽の
    状態.sidebar.withoutAnimation = withoutAnimation 
  }、
  TOGGLE_DEVICE:(状態、デバイス) => { 
    state.device = デバイス
  } 
} 

CONSTアクション = { 
  toggleSideBarは({}コミット){ 
    (コミット'TOGGLE_SIDEBAR' 
  }、
  closeSideBar({}コミット、{withoutAnimation}){ 
    (コミット 'CLOSE_SIDEBAR' 、withoutAnimation)を
  }、
  toggleDevice({}コミット、デバイス){ 
    (コミット 'TOGGLE_DEVICE' デバイス)
  } 
} 

エクスポートデフォルト{ 
  名前空間:
  状態、
  変異、
  アクション
}

アクション:外部コールのために提供します。

状態:状態が定義されているアプリ

名前空間:名前空間のサポート

toggleSideBar(){
       この。$のstore.dispatch( 'APP / toggleSideBar' 
    }

この貫通することができます。$ Store.dispatchトリガー・アクションメソッド。

VUEXはVUEが提供する状態の管理ツールである、彼が行うことができ、具体的何、例えば、ビジネス・シナリオがあります:

ユーザーがサインインすると、あなたは彼のログイン情報を設定することができます。ユーザーは、ユーザーのログイン情報を表示することができ、ホーム・ページにアクセスしてください。

実際には、異なる構成要素間で情報を共有するために使用されます。

私たちは、使用  VUE-要素管理者を  VUEXの使用を説明するために、例えば、。

// 店/ index.jsは

からのVueをインポートする「VUE」
からインポートVuex「vuex」
からの輸入ゲッター「./getters' 
からの輸入アプリ」./modules/app「
インポート設定から」./modules/settings' 
輸入ユーザから './modules/user' 

Vue.use(Vuex)


CONSTストア = 新しいVuex.Store({ 
  モジュール:{ 
    アプリケーション、
    設定、
    ユーザ
  }、
  ゲッター、
  プラグイン:[ 
     
] 
})

エクスポートデフォルトストア

ビルド店舗、店舗・サポート・モジュールは、この店では三つのモジュールがあります。

アプリモジュールの定義

// モジュール/ app.js 

からインポートクッキーを 'JS-クッキー' 

CONST状態 = { 
  サイドバーは:{ 
    開か:Cookies.get( 'sidebarStatus')?!! + Cookies.get( 'sidebarStatus'):
    withoutAnimation:
  }、
  装置: 'デスクトップ' 
} 

CONST変異 = { 
  TOGGLE_SIDEBAR:状態 => { 
    state.sidebar.opened =!state.sidebar.opened 
    state.sidebar.withoutAnimation = falseの
    場合(state.sidebar.opened){ 
      Cookies.setは('sidebarStatus'、1 
    } { 
      Cookies.set( 'sidebarStatus'、0 
    } 
  }、
  CLOSE_SIDEBAR:(状態、withoutAnimation) => { 
    Cookies.set( 'sidebarStatus'、0 
    state.sidebar.opened = 偽の
    状態.sidebar.withoutAnimation = withoutAnimation 
  }、
  TOGGLE_DEVICE:(状態、デバイス) => { 
    state.device = デバイス
  } 
} 

CONSTアクション = { 
  toggleSideBarは({}コミット){ 
    (コミット'TOGGLE_SIDEBAR' 
  }、
  closeSideBar({}コミット、{withoutAnimation}){ 
    (コミット 'CLOSE_SIDEBAR' 、withoutAnimation)を
  }、
  toggleDevice({}コミット、デバイス){ 
    (コミット 'TOGGLE_DEVICE' デバイス)
  } 
} 

エクスポートデフォルト{ 
  名前空間:
  状態、
  変異、
  アクション
}

アクション:外部コールのために提供します。

状態:状態が定義されているアプリ

名前空間:名前空間のサポート

toggleSideBar(){
       この。$のstore.dispatch( 'APP / toggleSideBar' 
    }

この貫通することができます。$ Store.dispatchトリガー・アクションメソッド。

おすすめ

転載: www.cnblogs.com/tommymarc/p/12143408.html