首页 > 其他 > 详细

关于vuex

时间:2021-01-17 19:29:39      阅读:20      评论:0      收藏:0      [点我收藏+]

1.  state中用于存放全局初始状态,所有的数据都放在这里

定义的方式

state:{
  num:66
}

   用法:

    • this.$store.state.num-----{{$store.state.num}}
    • 写在computed中

        

computed:{
   ...mapState({
       title:state         //相当于return state.num  title是自己取得名字
   })      
}    

   用法:

    {{title}}  

2.  gettters:用于存放加工处理后的数据

getters:{
  num2:(state)=>{
    return state.num*2+1  
  }  
}

  用法:{{$store.getters.num2}}

  注意:这样的取出来的数据不建议进行计算,因为在vuex插件中追踪不到数据的变化,不利于我们开发

3.  mutation:修改state中的值,可进行方法的定义,但是只能放同步的操作  可直接修改state中的数据

mutation:{
 add(state,payload){
   console.log(state)   //得到在state中定义的数据  num:66
    console.log(payload)  //使用这个方法时传过来的数据 age:18
 }
}    

  用法:this.$store.commit(‘add‘,{age:18})

4.  actions:与mutation的作用一样,但可进行异步的操作---如定时器,请求接口等  不能修改state中的数据

actions:{
 add2(context,payload){
//context--上下文环境  payload--调用add2这个方法时传递的参数
    context.commit(‘add‘,payload){
       //add--在mutation中定义的方法名  payload---调用add这个方法时传递的参数
    }
  }
}

  用法:this.$store.dispatch(‘add2‘,{age:13})

 

关于vuex

原文:https://www.cnblogs.com/wldy/p/14288703.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!