Vuex状态管理

此文章大部分基于使用webpack脚手架

一、Vuex的安装

在编辑器里的脚手架根目录上打开终端,或者用cmd直接cd到根目录,输入npm install vuex –save 进行下载

二、Vuex的创建

   1、在src目录下新建store文件夹,在文件夹中新建index.js文件
   (名字起做index在引入路径时可以少写一步)

以下为在index.js中定义的内容:

在这里插入图片描述
2、在main.js中的vue根实例上注册store(要记得先把之前写的store的js文件先引进来)

import store from './store'
Vue.config.productionTip = false
new Vue({
  el: '#app',
  router,store,
  components: { App },
  template: '<App/>'
})

3、在需要使用数据的组件模板中完成调用,需要使用到根实例也就是this.$store,上的数据或getter方法,以下面的方法使用

  <!-- 调用store中的msg数据 -->
      <span>{{this.$store.state.msg}}</span>
      <!-- 调用store  getter中的changemsg方法 -->
      <h3>{{this.$store.getters.changemsg}}</h3>

三、vuex 根实例上的属性(配置项)名称都不可更改

state 在这个区域定义数据

   state:{
       msg:'我是store数据1',
       num:100,
   } ,

getters 在这里定义属性,可以获取到store的数据,也可以在这里对store里的数据进行操作,不更改原数据,他的使用方式类似计算属性,当作一个属性去调用

 getters:{
       changemsg:function(state){
           return '改变后的----'+state.msg
       }
   },

getters 调用方式

      <!-- 调用store  getter中的changemsg方法 -->
      <h3>{{this.$store.getters.changemsg}}</h3>

muations 在这里定义方法,这里的方法可以改变原数据

   mutations:{
       wubai(state){
       return state.num=500 },
    sanbai(state){
       return state.num=300
    }
   }

使用方式
①在需要使用数据的组件模板上定义触发事件

      <button @click="wubai">更改数值为500</button>
      <button @click="sanbai">更改数值为300</button>

②.再在当前组件的逻辑里定义方法,在这个方法里使用this.$store.commit的方法给他传递一个参数(自定义名称)

  methods:{
      fn(){
          this.$emit('change',this.son)
      },
      wubai(){
          this.$store.commit('wubai')
      },
      sanbai(){
          this.$store.commit('sanbai')
      }
  }

③以传递过来的参数为准,在mutations里面以此参数定义一个函数方法,这里的return可以是以下类似方式,也可以是一个函数(当需要在触发事件,传递参数时,return的可以是一个函数,以当前示例为例,传递方式是在click绑定的事件后加一个括号,括号传参)

   mutations:{
       wubai(state){
       return state.num=500 },
    sanbai(state){
       return state.num=300
    }
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值