国产精品美女久久久浪潮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,
          }
        })
        藍藍設計m.shtzxx.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

        日歷

        鏈接

        個人資料

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

        存檔

        主站蜘蛛池模板: 免费人成视频x8x8国产| 熟熟熟熟熟熟熟熟妇50岁| www啦啦啦视频在线观看免费| 1区2区3区4区产品乱码入口 | 亚洲av无码之国产精品| 亚洲精品久久久久999666| jizz亚洲大全| av国产剧情md精品麻豆| 巴南区| 午夜dj在线观看免费视频| 精品人妻无码一区二区色欲产成人| 欧美特黄特色三级视频在线观看| 国产又爽又黄无码无遮挡在线观看| 日本欧美韩国推理片在线观看 | 野花香电视剧免费观看全集高清播放 | 九色porny丨自拍视频| 国产女同疯狂作爱系列| 精品精品国产高清a级毛片| 肉欲啪啪网站| 大地资源中文第二页日本 | 国产亚洲av人片在线观看| 台中县| 耒阳市| 精品国产福利一区二区| 国产黄a三级三级三级三级看三级| 中文乱码免费一区二区| 极品少妇被弄得高潮不断| 好男人好资源电影在线播放 | 陵川县| 在线a毛片免费视频观看| 在线播放免费人成毛片乱码| 性色蜜桃臀x88av| 两个人的免费视频完整版| 欧美老熟妇又粗又大| 国产精品青青在线麻豆| 久久精品国产亚洲精品| 色噜噜一区二区三区| 神马午夜| 江永县| 西西人体高清44rt·net| 欧美激情综合一区二区三区|