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

    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 久久久久国产精品人妻aⅴ武则天 欧美成人精品 一区二区三区 | 啪啪精品| 欧美亚色| 欧美群交射精内射颜射潮喷| 国内精品久久久久久久影院| 一级在线播放| 久久天天躁狠狠躁夜夜躁2o2o | 日韩欧美在线综合网| 国产免费1卡2卡| 高清二区| 日韩中文字幕精品人妻| 国产精品 经典三级 亚洲| 九九热九九| 国产伦精品一区| 爱性久久久久久久久| 少妇极品熟妇人妻| av网站在线免费观看| 冈本视频在线观看| 亚洲区色欧美另类图片| 亚洲欲色欲色xxxxx在线观看 | 亚洲国产精品久久网午夜| 精品午夜久久福利大片| 亚拍一区| 韩国18禁啪啪无遮挡免费| 无码人妻一区二区三区免费视频| 久久久久久午夜成人影院| 毛片aaaa| 深夜国产成人福利在线观看| 久久男人av资源站| 日本久久久www成人免费毛片丨| 欧美日韩aaa| 一二三区不卡| 久久久久久九九99精品| 国产激情无码视频在线播放性色| 日韩免费在线播放| 歪歪6080| 图片小说视频一区二区| 国产高清无码在线com| 爱情岛论坛永久入口| 成人123| 国产精品无码dvd在线观看|