vue的store.getter可以传参数吗
时间: 2023-06-10 12:08:58 浏览: 165
是的,Vue的store.getter可以传递参数。在Vuex中,getter可以接受两个参数,第一个参数是state对象,第二个参数是getter自定义传入的参数。getter可以在组件中通过$store.getters来访问。例如,假设有如下getter:
```
const store = new Vuex.Store({
state: {
todos: [
{ id: 1, text: 'todo1', done: true },
{ id: 2, text: 'todo2', done: false },
{ id: 3, text: 'todo3', done: true }
]
},
getters: {
doneTodos: state => {
return state.todos.filter(todo => todo.done)
},
getTodoById: (state) => (id) => {
return state.todos.find(todo => todo.id === id)
}
}
})
```
在组件中可以通过以下方式来访问getter:
```
computed: {
doneTodos () {
return this.$store.getters.doneTodos
},
todoById () {
return this.$store.getters.getTodoById(2)
}
}
```
在上面的例子中,getTodoById接受一个参数id,通过返回一个函数的方式来接收参数。这样我们在组件中调用getTodoById时就可以传递id参数了。
阅读全文