Vuex 初始(一)
初次接触,原理记得挺熟就是不知道怎么用。所以记录一下学习路程得一个小李子
我们知道Vuex改变数据 是dispatch派发一个action,在action中context对象借用commit方法上报一个mutation,mutation接受到上报得消息之后进行更改或者赋值操作,从而达到改变数据。
1dispatch
在我们需要进行改变数据得组件中,定义一个方法
//view层
<button @click=“changeText”>改变数据<button>
//script层
changeText(){
this.$store.dispatch("handle"//名字自己取(之后要和Vuex中store中名字对应上),“小花”//改变之后得值)
}
2Action
在自己定义得store文件下得index.js中
import Vue from ‘vue’
import Vuex from ‘vuex’
Vue.use(Vuex);
export default new Vuex.store({
//这里state中得name就是我们本次需要修改得属性 初始值我们暂定大花
state:{
name:'大花'
}
actions:{
handle(ctt,name){
//这个就是上文我提到得名字要和这里对应上 在这里有两个参数 1.context对象,2.你组件中通过 dispatch过来得值 因为上边我们传得是小花 所以这里得name 就是小花
//这里利用commit去上报或者说提交mutation
context.commit('handle',name)
}
//上边一斤告知或者派发过来了 那在mutation中要做出值得改变咯 有人回有疑问要改变什么呢? 改变state中定义得并且你要改变得属性得值 两个参数,一个是state,一个是改变得属性
mutation:{
handle(state,name){
state.name=name
}
}
)
```初学者可能有错误 如果有人看到了,还希望能告知我错误 ,感谢。
上方确实有 错误 mutations 应该这样写