vuex getter,带有用Typescript编写的参数 [英] vuex getter with argument written in Typescript
本文介绍了vuex getter,带有用Typescript编写的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一个人可以创建一个vuex商店getter,它接受一个参数参数,如下所示: https://vuex.vuejs.org/en/getters.html
One can create a vuex store getter which takes a parameter argument as illustrated here: https://vuex.vuejs.org/en/getters.html
我正在使用Typescript( https://github.com/hmexx/vue_typescript_starter_kit )编写我的代码,但是我不知道如何编写一个带有参数实参的getter.即,以下似乎无效:
I'm using Typescript (https://github.com/hmexx/vue_typescript_starter_kit) to write my code, but I can't figure out how to write a getter that takes a parameter argument. ie, the following does not seem to work:
export function getItemById(state : State, id : Number) : MyItem | undefined {
if(id === undefined) {
return undefined;
}
for(const item of state.items) {
if(item.id === id) {
return item;
}
}
return undefined;
}
export default <GetterTree<State, any>> {
getItemById
};
推荐答案
基于 vuex文档您可以执行以下操作:
based on vuex docs you can implement the following:
getters: {
// ...
getTodoById: (state, getters) => (id) => {
return state.todos.find(todo => todo.id === id)
}
}
store.getters.getTodoById(2) // -> { id: 2, text: '...', done: false }
在打字稿中,您可以尝试执行以下操作:
in typescript you might try something like this:
export default {
getItemById(state: State, getters: any) {
return (id: number) => {
return state.items.find(item => item.id === id);
}
}
}
这篇关于vuex getter,带有用Typescript编写的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文