如何为vuex实现带参数的 getter和state.commit
getter 带参数
参考: https://vuex.vuejs.org/guide/getters.html#method-style-access
或者: https://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 带参数
参考; https://stackoverflow.com/questions/46097687/vuex-passing-multiple-parameters-to-action 和 https://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 就是了。
})
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue路由history模式页面刷新404解决方法Koa Express
这篇文章主要为大家介绍了vue路由history模式页面刷新404解决方法(Koa Express)详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-11-11
vue3使用el-radio-group获取表格数据无法选中问题及解决方法
这篇文章主要介绍了vue3使用el-radio-group获取表格数据无法选中问题及解决方法,本文给大家介绍的非常详细,需要的朋友可以参考下2024-05-05
基于vue-cli3多页面开发apicloud应用的教程详解
这篇文章主要介绍了基于vue-cli3多页面开发apicloud应用,本文采用vue-cli+APIcloud的方式写解决以上痛点,开发灵活,并且打包之后体积更小速度更快,需要的朋友可以参考下2019-06-06


最新评论