国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄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.dzxscac.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 免费av一区二区三区| 久久久午夜精品福利内容| 精品久久久久久久国产潘金莲 | 国产成a人亚洲精v品无码| 中文无码乱人伦中文视频在线| 国产福利自产拍| 亚洲综合图| 亚洲最黄视频| 在线 | 一区二区三区| 国产片av不卡在线观看国语| aa黄色片| 性精品| 18禁无遮挡羞羞污污污污免费| 美女mm131午夜福利在线| 我要看一级黄色片| 久久岛国| 内射毛片内射国产夫妻| 一本久道久久综合狠狠老| 日韩精品三级| 欧美蜜桃视频| 国产成熟人妻换╳╳╳╳| 视频在线+欧美十亚洲曰本| 污网站在线看| 狠狠躁日日躁夜夜躁| 人妻夜夜爽天天爽| 午夜福利看757| 一级片国产| 亚洲精品一级片| 日本高清在线观看WWW色| 精品国产肉丝袜久久首页| 成人福利视频| 久久人人爽爽| 国产不卡一区在线视频| 男女性杂交内射妇女bbwxz| 丰满少妇被猛烈进入毛片| 久久久无码精品亚洲国产| www.色人阁| 欧洲乱码伦视频免费| 中文字幕免费无码专区| 亚洲久热| 亚洲一级av无码毛片精品|