如何将Vuex的带参数getter和state.commit改写成长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计336个文字,预计阅读时间需要2分钟。
获取器(Getter)是Vuex中用于派生状态的计算属性。它们基于store中的state进行计算,并返回一个新的值。以下是对您提供的开头内容的简化版本:
Vuex Getter详解:获取器允许你从store的state中派生出一些状态,相当于计算属性。更多详情,请参考:[Vuex Getter](https://vuex.vuejs.org/guide/getters.)
getter 带参数
参考: vuex.vuejs.org/guide/getters.html#method-style-access
或者: stackoverflow.com/questions/37763828/javascript-es6-double-arrow-functions
官方例子:
getters: { // ... getTodoById: (state) => (id) => { return state.todos.find(todo => todo.id === id) } }
使用:
store.getters.getTodoById(2) // -> { id: 2, text: '...', done: false }
stackoverflow 例子:
new Vuex.Store({ getters: { someMethod(state){ var self = this; return function (args) { // return data from store with query on args and self as this }; } } })
commit 带参数
参考; stackoverflow.com/questions/46097687/vuex-passing-multiple-parameters-to-action 和 stackoverflow.com/questions/40522634/can-i-pass-parameters-in-computed-properties-in-vue-js
就是把第二个参数,以hash的形式传过来。
// vue页面调用: store.commit(INCREASE, { vid: vid // 这里可以容纳更多参数 }) // store.js const mutations = { [INCREASE](state, data){ pair = state.pairs.find( (pair) => { return pair.vid == data.vid // 注意这里的 data.vid 就是了。 }) } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计336个文字,预计阅读时间需要2分钟。
获取器(Getter)是Vuex中用于派生状态的计算属性。它们基于store中的state进行计算,并返回一个新的值。以下是对您提供的开头内容的简化版本:
Vuex Getter详解:获取器允许你从store的state中派生出一些状态,相当于计算属性。更多详情,请参考:[Vuex Getter](https://vuex.vuejs.org/guide/getters.)
getter 带参数
参考: vuex.vuejs.org/guide/getters.html#method-style-access
或者: stackoverflow.com/questions/37763828/javascript-es6-double-arrow-functions
官方例子:
getters: { // ... getTodoById: (state) => (id) => { return state.todos.find(todo => todo.id === id) } }
使用:
store.getters.getTodoById(2) // -> { id: 2, text: '...', done: false }
stackoverflow 例子:
new Vuex.Store({ getters: { someMethod(state){ var self = this; return function (args) { // return data from store with query on args and self as this }; } } })
commit 带参数
参考; stackoverflow.com/questions/46097687/vuex-passing-multiple-parameters-to-action 和 stackoverflow.com/questions/40522634/can-i-pass-parameters-in-computed-properties-in-vue-js
就是把第二个参数,以hash的形式传过来。
// vue页面调用: store.commit(INCREASE, { vid: vid // 这里可以容纳更多参数 }) // store.js const mutations = { [INCREASE](state, data){ pair = state.pairs.find( (pair) => { return pair.vid == data.vid // 注意这里的 data.vid 就是了。 }) } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

