gpt4 book ai didi

VUEX使用学习三:mutations

转载 作者:我是一只小鸟 更新时间:2023-01-17 06:31:09 27 4
gpt4 key购买 nike

转载请注明出处:

  在 Vuex 中 store 数据改变的唯一方法就是提交  mutations 。 mutations 里面装着一些改变数据方法的集合,这是Vuex 设计很重要的一点,就是把处理数据逻辑方法全部放在  mutations  里面,使得数据和视图分离.

  通过这种方式虽然操作起来稍微繁琐一些,但是可以集中监控所有数据的变化 。

  示例:

                          const store = 
                          
                            new
                          
                          
                             Vuex.Store({
  state: {
    count: 
                          
                          1
                          
                            
  },
  mutations: {
     
                          
                          
                            //
                          
                          
                             事件类型 type 为 increment
                          
                          
                                increment (state) { 
      
                          
                          
                            //
                          
                          
                             变更状态
                          
                          
      state.count++
                          
                            
    }
  }
})
                          
                        

  。

第一种使用方式:

  this.$store.commit() 是触发mutations的第一种方式, 。

  示例:

                          
                            //
                          
                          
                             方法
                          
                          
                            mutations:{
  
                          
                          
                            //
                          
                          
                             加的方法
                          
                          
                              increment(state,addcounter){
    state.counter 
                          
                          +=
                          
                             addcounter
  },
  
                          
                          
                            //
                          
                          
                             减的方法
                          
                          
                              decrement(state,subcounter){
    state.counter 
                          
                          -=
                          
                             subcounter
  }
},
                          
                        

  使用:

                          <template>
  <div>
    <h2>Vuex第四个页面</h2>
    <button @click="addnum(5)">+</button>
    <button @click="subnum(5)">-</button>
    <p>{{$store.state.counter}}</p>
  </div>
</template>

<script>
                          
                            
  export 
                          
                          
                            default
                          
                          
                             {
    name: 
                          
                          "Vuexfour"
                          
                            ,
    methods:{
      addnum(addcounter){
        
                          
                          
                            this
                          
                          .$store.commit("increment"
                          
                            ,addcounter)
      },
      subnum(subcounter){
        
                          
                          
                            this
                          
                          .$store.commit("decrement"
                          
                            ,subcounter)
      }
    }
  }

                          
                          </script>
                        

第二种方式 mapMutations

  通过以函数映射的方式 。

    1.从vuex中按需求导入mapMutations 函数 。

                          import {mapMutations} from 'vuex'
                        

    通过刚才导入的mapMutations函数,将当前组件需要的全局数据,映射为当前组件的computed计算属性 。

    2. 将指定的mutations函数,映射为当前组件的methods函数 。

                          methods:{ ...mapMutations(['add']) }
                        

    示例:

                          <script>
                          
                            
import { mapMutations } from 
                          
                          'vuex'
                          
                            
export 
                          
                          
                            default
                          
                          
                             {
  computed:{
    count(){
      
                          
                          
                            return
                          
                          
                            this
                          
                          
                            .$store.state.count
    }
  },
  methods:{
    ...mapMutations([
                          
                          
                            //
                          
                          
                            采用解构的方式引入
                          
                          
      'increment'
                          
                            ,
      
                          
                          'decrement'
                          
                            
    ])
  }
}

                          
                          </script>
                        

  。

最后此篇关于VUEX使用学习三:mutations的文章就讲到这里了,如果你想了解更多关于VUEX使用学习三:mutations的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com