<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 一、概念 vuex是一個專門為vue.js應用程序開發的狀態管理模式。 ## 二、應用場景 vue多個組件之間需要共享數據或狀態 ## 三、關鍵規則 ![](https://img.kancloud.cn/b6/51/b651244dfa284dbd86eabfcf7171a338_945x229.png) ## 四、使用 #### 1、首先在根目錄下新建store文件夾 #### 2、然后再store文件夾下面創建index.js文件 #### 3、編寫代碼 實例一普通版: ``` import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state:{ username:"未登錄用戶" }, mutations:{ MLOGIN(state,username){ // 修改全局的狀態 state.username = username }, MLOGOUT(state){ // 修改全局的狀態 state.username = '退出用戶' } }, actions:{ // 異步獲取方法 login(context,username){ context.commit('MLOGIN',username) }, logout(context){ context.commit('MLOGOUT') } } }) export default store ``` 實例二緩存版: ``` import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state:{ username:uni.getStorageSync('username')? uni.getStorageSync('username'):"未登錄用戶" }, mutations:{ MLOGIN(state,username){ //記錄緩存 uni.setStorageSync('username',username) // 修改全局的狀態 state.username = username }, MLOGOUT(state){ //清除緩存 uni.clearStorageSync() // 修改全局的狀態 state.username = '退出用戶' } }, actions:{ // 異步獲取方法 login(context,username){ context.commit('MLOGIN',username) }, logout(context){ context.commit('MLOGOUT') } } }) export default store ``` #### 4、掛載調用main.js中 ``` import Vue from 'vue' import App from './App' Vue.config.productionTip = false App.mpType = 'app' // 調用store vuex 狀態管理 import store from '@/store/index.js' const app = new Vue({ ...App, store }) app.$mount() ``` #### 5、使用 實例一: ``` <template> <view> 用戶列表 <view class="">{{username}}</view> </view> </template> <script> import { mapState, mapActions } from 'vuex' export default { data() { return { } }, onLoad() { uni.$on('getinfosss', ()=>{ console.log('user組件中的全局事件被觸發') }) }, computed:{ ...mapState(['username']) }, methods: { ...mapActions(['login','logout']) } } </script> <style> </style> ``` 實例二修改狀態: ``` <template> <view> 用戶列表 <view class="">{{username}}</view> <button class="" @click="login('登錄成功')">登錄</button> <button class="" @click="logout">退出</button> </view> </template> <script> import { mapState, mapActions } from 'vuex' export default { data() { return { } }, onLoad() { uni.$on('getinfosss', ()=>{ console.log('user組件中的全局事件被觸發') }) }, computed:{ ...mapState(['username']) }, methods: { ...mapActions(['login','logout']) } } </script> <style> </style> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看