Vuex:在视图内部使用吸气剂时遇到问题

时间:2019-03-03 15:10:38

标签: vue.js vuex

我在商店中有一个名为“任务”的模块,该模块具有此吸气剂-

getTaskById: state => id => state.idToTask[id]

似乎很简单和基本,idToTask只是一个以id为键的对象。

现在在视图(显示任务的组件)中-它从路由器获取taskId作为道具,我这样使用mapGetters-

methods: {
...mapGetters('tasks', ['getTaskById'])
}

我有一个计算值:

task() {
return this.getTaskById(this.taskId)
}

我真的不知道这里出了什么问题,但是由于某种原因,我收到任务未定义(在模板中)的错误...

我会先说我已经尝试过

this.$store.getters['tasks/getTaskById'](taskId)

但是它似乎不能正常工作...

有帮助吗?

1 个答案:

答案 0 :(得分:1)

无视我的评论,mapGetters应该放在计算机中,而不是方法中。

computed: {
    ...mapGetters('tasks', ['getTaskById'])
}

https://vuex.vuejs.org/guide/getters.html

https://github.com/vuejs/vuex/issues/1136