• <abbr id="chdyf"></abbr>
    <ruby id="chdyf"><acronym id="chdyf"><meter id="chdyf"></meter></acronym></ruby>
    <bdo id="chdyf"></bdo>
    <dfn id="chdyf"><menu id="chdyf"></menu></dfn>
    1. <menuitem id="chdyf"></menuitem><strong id="chdyf"><menu id="chdyf"></menu></strong>

      <rt id="chdyf"><menu id="chdyf"></menu></rt>
      成人小说一区二区三区,伊人精品成人久久综合全集观看,久久HEZYO色综合,中文字幕精品人妻熟女,影音先锋成人网站,我要看免费一级毛片,中国女人做爰A片,中文字幕av久久爽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.wtxcl.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

      日歷

      鏈接

      個人資料

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

      存檔

      主站蜘蛛池模板: 精品国模| 日韩精品久久久中文字幕| 久久香蕉国产线看观看亚洲小说| 社旗县| 丝袜精品字幕| 亚洲黑人av| 日本亚洲精品无码专区| 福利视频导航网| 激情亚洲一区二区三区| 日韩男人天堂| 在线中出| 影音先锋资源在线| 中文亚洲字幕| 亚洲综合伦理| 免费在线3A级| 遂平县| 日韩美女乱淫试看视频多人| 成人超碰最大网站| 金乡县| 国产极品女主播国产区| 色婷婷激情四射| 国产欧美丝袜在线二区| 久操影视| 亚洲午夜一区二区| 成年无码动漫av片在线尤物网站| 97久久国产亚洲精品超碰热| 精品亚洲va在线va天堂资源站| 热久在线免费观看视频| 大熟女在线| 伊人av影视| 亚洲日韩国产欧美久久久| 久久九精品视频| 天堂av一区二区三区| 91福利导航| 国产精品xxxx| 国产精品视频| 2022国产精品福利在线观看| 99精品视频在线| 国产精品亚洲精品日韩已方| jizzjizz亚洲| 久久久人妻|