<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                1.首先,我們先了解什么是Vuex,Vuex 是一個專為 Vue.js 應用程序開發的**狀態管理模式**。 這個狀態自管理應用包含以下幾個部分: * **state**,驅動應用的數據源; * **view**,以聲明方式將**state**映射到視圖; * **actions**,響應在**view**上的用戶輸入導致的狀態變化。 如果您的應用夠簡單,您最好不要使用 Vuex。一個簡單的[store 模式](https://cn.vuejs.org/v2/guide/state-management.html#%E7%AE%80%E5%8D%95%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E8%B5%B7%E6%AD%A5%E4%BD%BF%E7%94%A8)就足夠您所需了。但是,如果您需要構建一個中大型單頁應用,您很可能會考慮如何更好地在組件外部管理狀態,Vuex 將會成為自然而然的選擇。 2.接下來,我們開始安裝Vuex,使用命令:`npm install vuex --save` 安裝成功后,我們在src目錄下新建 store 文件夾,然后新建 index.js 文件,目錄結構如下 ![](https://img.kancloud.cn/91/1b/911b9227ee95e01f24755ab40e9d2b63_246x195.png) 在store/index.js文件中,創建vuex實例 ``` ~~~ import Vue from 'vue' // 引入vue import Vuex from 'vuex' // 引入vuex // 使用vuex Vue.use(Vuex) // 創建vuex實例 const store = new Vuex.Store({ }) export default store // 導出store ~~~ ``` ![](https://img.kancloud.cn/d8/58/d8588fcbe97202acec72729613ab0602_571x289.png) 3.然后,在main.js中引入該文件 ![](https://img.kancloud.cn/54/c3/54c3f2ff96d298701c10e5e89ab0d651_686x527.png) 4.開始我們的vuex業務代碼 ### State vuex的數據源,我們需要保存的數據保存在這里,在頁面通過 this.$store.state來獲取數據 ![](https://img.kancloud.cn/f8/d0/f8d030d5fed02988b055a61ad2161363_504x274.png) ***** ![](https://img.kancloud.cn/1c/64/1c648360e374d1eb3fbacf7a6d8dcc74_662x137.png) ***** ![](https://img.kancloud.cn/01/a1/01a1ba568ce83a3b4be46f0dd85d6e18_516x237.png) 當一個組件需要獲取多個狀態的時候,將這些狀態都聲明為計算屬性會有些重復和冗余,我們可以使用`mapState`輔助函數幫助我們生成計算屬性。 ![](https://img.kancloud.cn/7f/d0/7fd005b4059aeebfabdec10b0b55b13e_596x451.png) 這樣就簡便很多啦 ### Getter Vuex 允許我們在 store 中定義“getter”(可以認為是 store 的[計算屬性](https://cn.vuejs.org/v2/guide/computed.html)))。就像計算屬性一樣,getter 的返回值會根據它的依賴被緩存起來,且只有當它的依賴值發生了改變才會被重新計算。 ![](https://img.kancloud.cn/62/98/6298b6a20d8f19fbb4e6c0be7b3a961d_630x384.png) ***** ![](https://img.kancloud.cn/d9/15/d9157e83603c2dd4f3bcd17f30803e65_1090x169.png) ***** ![](https://img.kancloud.cn/f9/a6/f9a69e6318115ea442c7da66546cb341_468x198.png) `mapGetters`輔助函數 ![](https://img.kancloud.cn/7b/48/7b48a31cad3df3a25e8f2de013735b4a_829x520.png) ### Mutation 如果我們需要修改count值,那就需要mutation,更改 Vuex 的 store 中的狀態的唯一方法是提交 mutation。 ![](https://img.kancloud.cn/30/44/3044763cbb431582786e73f83bef0002_611x558.png) count加1,減1 ![](https://img.kancloud.cn/42/c5/42c5acaa35b26416c41c2b0e11a0e8f6_1096x569.png) 點擊按鈕運行效果 ![](https://img.kancloud.cn/4f/b3/4fb399bc876dd2633066bfecfd961b15_700x380.gif) ### Action Action 類似于 mutation,不同在于: * Action 提交的是 mutation,而不是直接變更狀態。 * Action 可以包含任意異步操作。 * mutation 必須同步執行,Action 就不受約束!我們可以在 action 內部執行異步操作 ![](https://img.kancloud.cn/dc/29/dc294f1af0634b127e80077b619e8905_977x703.png) ![](https://img.kancloud.cn/f8/b8/f8b85e8eff2bf422ce6c15bcea968a2d_1066x610.png) 運行結果 ![](https://img.kancloud.cn/ea/14/ea1451b11a72eb2c6a4b774d6ad898f9_700x380.gif) 我們還可以自定義參數,控制每次點擊增加或減少的數量 ![](https://img.kancloud.cn/54/44/544464d3dd05feb2b2c54b553231714f_952x748.png) ![](https://img.kancloud.cn/c5/eb/c5ebb0198ebfd45b87b7532cb2318ab3_1027x598.png) 運行結果 ![](https://img.kancloud.cn/b5/43/b543fa964687ef740f0e92ab959f2595_700x380.gif)
                  <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>

                              哎呀哎呀视频在线观看