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

      日歷

      鏈接

      個人資料

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

      存檔

      主站蜘蛛池模板: 人妻无码人妻有码不卡| 亚洲黄色中文字幕| julia中文字幕久久亚洲| 三级黄色电影网站| 睡熟迷奷系列新婚之夜| 黄色www| 老子影院午夜精品无码| 亚洲中久无码永久在线观看软件| 国产丝袜精品在线播放| xxx日韩| 久久露脸国语精品国产91| 精品国产av| 国产粗大| 欧美精品网| 蜜臂Av| 成人网站18禁| 欧美日韩久久| 国产黄色污一区二区三区| 欧美综合精品久久久久成人影院| 国产乱码一二三区精品| 四虎精品永久在线视频| 国产亚洲美女精品久久久久狼| 国产免费午夜福利蜜芽无码| 国语高潮无遮挡无码免费看 | 91国语精品自产拍在线观看| 蜜臀av在线播放| 国产精品白浆视频免费观看| 国产高清天干天天视频| jizz日本版| 玩弄放荡人妇系列av在线网站| 精品人妻少妇一区二区三区| 茄子视频毛片免费观看| 免费看无码特级毛片| 尤物av在线| 亚洲国产理论片在线播放| 亚洲AV永久天码精品天堂DL| 最新在线中文字幕| 一区无码| 十八禁黄网站| 欧美熟妇高潮流白浆| 一区二区三区四区视频|