国产精品美女久久久浪潮AV,国产精品三级一二三区,久久精品国产一区二区小说 ,依依成人影视国产精品,全部无卡免费的毛片在线看,日本一区二区三深夜不卡,国产精品女同一区二区久久,国产精品夜色一区二区三区

        關于Vuex的全家桶狀態管理(二)

        2018-5-28    seo達人

        如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

        1:mutations觸發狀態 (同步狀態)

        <template> <p class="hello"> <h1>Hello Vuex</h1> <h5>{{count}}</h5> <p> <button @click="jia">+</button> <button @click="jian">-</button> </p> </p> </template> <script> import {mapState,mapMutations} from 'vuex' export default{
          name:'hello', //寫上name的作用是,如果你頁面報錯了,他會提示你是那個頁面報的錯,很實用 //方法三 computed: mapState([ 'count' ]),
          methods:{
           ...mapMutations([ 'jia', 'jian' ])
          }
         } </script>
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26

        2:getters計算屬性

        getter不能使用箭頭函數,會改變this的指向

        在store.js添加getters

         // 計算 const getters = {
          count(state){ return state.count + 66 }
        } export default new Vuex.Store({
          state,
          mutations,
          getters
        })
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13

        //count的參數就是上面定義的state對象 
        //getters中定義的方法名稱和組件中使用的時候一定是一致的,定義的是count方法,使用的時候也用count,保持一致。 
        組件中使用

        <script> import {mapState,mapMutations,mapGetters} from 'vuex' export default{
          name:'hello',
          computed: {
           ...mapState([ 'count' ]),
           ...mapGetters([ 'count' ])
          },
          methods:{
           ...mapMutations([ 'jia', 'jian' ])
          }
         } </script>
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20

        3:actions (異步狀態)

        在store.js添加actions

        import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) // 定義常量 const state = { count: 1 } // mutations用來改變store狀態 同步狀態 const mutations = {
          jia(state){
            state.count ++
          },
          jian(state){
            state.count --
          },
        } // 計算屬性 const getters = {
          count(state){ return state.count + 66 }
        } // 異步狀態 const actions = {
          jiaplus(context){
            context.commit('jia') //調用mutations下面的方法
            setTimeout(()=>{
              context.commit('jian')
            },2000) alert('我先被執行了,然后兩秒后調用jian的方法') }, jianplus(context){ context.commit('jian') }
        } export default new Vuex.Store({
          state,
          mutations,
          getters,
          actions
        })
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41
        • 42
        • 43
        • 44

        在組件中使用

        <template> <p class="hello"> <h1>Hello Vuex</h1> <h5>{{count}}</h5> <p> <button @click="jia">+</button> <button @click="jian">-</button> </p> <p> <button @click="jiaplus">+plus</button> <button @click="jianplus">-plus</button> </p> </p> </template> <script> import {mapState,mapMutations,mapGetters,mapActions} from 'vuex' export default{
          name:'hello',
          computed: {
           ...mapState([ 'count' ]),
           ...mapGetters([ 'count' ])
          },
          methods:{ // 這里是數組的方式觸發方法 ...mapMutations([ 'jia', 'jian' ]), // 換一中方式觸發方法 用對象的方式 ...mapActions({
            jiaplus: 'jiaplus',
            jianplus: 'jianplus' })
          }
         } </script> <style scoped> h5{ font-size: 20px; color: red; } </style>
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41
        • 42
        • 43
        • 44
        • 45
        • 46
        • 47
        • 48

        4:modules 模塊

        適用于非常大的項目,且狀態很多的情況下使用,便于管理

        修改store.js

        import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state = { count: 1 } const mutations = {
          jia(state){
            state.count ++
          },
          jian(state){
            state.count --
          },
        } const getters = {
          count(state){ return state.count + 66 }
        } const actions = {
          jiaplus(context){
            context.commit('jia') //調用mutations下面的方法
            setTimeout(()=>{
              context.commit('jian')
            },2000) alert('我先被執行了,然后兩秒后調用jian的方法') }, jianplus(context){ context.commit('jian') }
        }
        
        //module使用模塊組的方式 moduleA const moduleA = { state, mutations, getters, actions }
        
        // 模塊B moduleB const moduleB = { state: { count:108
          }
        } export default new Vuex.Store({
          modules: {
            a: moduleA,
            b: moduleB,
          }
        })
        藍藍設計www.shtzxx.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://www.shtzxx.cn

        存檔

        主站蜘蛛池模板: 好男人视频免费| 亚洲国产一二三精品无码| 浪漫樱花免费播放高清版在线观看 | 天天影视色香欲综合久久| 在线视频免费观看www动漫| 两公的浮之手中字| japanese精品少妇| 亚洲精品tv久久久久久久久久| 荥阳市| 盐边县| 欧美产精品一线二线三线| 成人精品一区二区三区在线观看| 久久久日韩精品一区二区| 久久免费看少妇高潮v片特黄 | 亚洲国产欧美在线成人| 成人无码在线视频网站| 中国毛茸茸性xxxx| 久久精品国产99日本精品免| 白嫩白嫩bbbbbbbbb| 99蜜桃臀久久久欧美精品网站| 舞钢市| 国产97色在线 | 亚洲| 色五月丁香六月欧美综合| 中文字幕久久综合久久88| 欧美浓毛大bbwbbw| 男人狂躁进女人下面免费视频| 久久精品国产自在天天线| 五华县| 日本免费一区二区三区最新vr| 国产成人无码aa精品一区| 亚洲精品乱码久久久久久不卡| 日本xxxxx片免费观看| gogogo免费高清日本tv| 波多野吉衣av无码| 午夜无码a级毛片免费视频| 国语对白做受xxxxx在| 亚洲色婷婷一区二区三区| gogogo高清免费观看日本电影| 汤原县| 久久aⅴ人妻少妇嫩草影院| 免费萌白酱国产一区二区三区|