Vue.js 将数据传递到存储?
如何将数据从vue组件传递到存储区 以下是我的组件:Vue.js 将数据传递到存储?,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,如何将数据从vue组件传递到存储区 以下是我的组件: methods: { ...mapActions('NavBar', [ 'fix', ]), onClick: function() { this.fix('my-data'); }, .... 在商店里: actions: { fix: ({ commit }) => { //get data here? }, },
methods: {
...mapActions('NavBar', [
'fix',
]),
onClick: function() {
this.fix('my-data');
},
....
在商店里:
actions: {
fix: ({ commit }) => {
//get data here?
},
},
VueJS 2.x中的操作和突变可以使用一个附加参数(通常称为
有效负载
)和附加数据
从:
您可以将另一个参数传递给store.commit,该参数称为
变异的有效载荷:
在大多数情况下,有效负载应该是一个对象,以便它可以包含
多个字段,并且记录的突变也会更多
描述性:
以及:
操作支持相同的有效负载格式和对象样式分派:
文档中似乎不太清楚如何定义操作,但以下内容似乎可以工作:
actions: {
incrementAsync ({ commit, state }, payload) { ... }
}
它必须是一个动作(可以是异步的),还是一个突变(对存储的同步更改)也可以工作?两者都可以,尽管我也想知道动作的情况,以供将来参考。
mutations: {
increment (state, payload) {
state.count += payload.amount
}
}
store.commit('increment', {
amount: 10
})
// dispatch with a payload
store.dispatch('incrementAsync', {
amount: 10
})
// dispatch with an object
store.dispatch({
type: 'incrementAsync',
amount: 10
})
actions: {
incrementAsync ({ commit, state }, payload) { ... }
}