Vue.js 带参数的Vuex和Vuex getter
我有一个基于Vue和Vuex的小应用程序。这只是一张桌子,上面摆着这样的东西Vue.js 带参数的Vuex和Vuex getter,vue.js,vuex,Vue.js,Vuex,我有一个基于Vue和Vuex的小应用程序。这只是一张桌子,上面摆着这样的东西 <div class='items'> <div v-for='item in items'> <span> {{ item.name }} </span> <router-link :to='"update/" + item.id'>Edit</router-link> </div> </div>
<div class='items'>
<div v-for='item in items'>
<span> {{ item.name }} </span>
<router-link :to='"update/" + item.id'>Edit</router-link>
</div>
</div>
computed() {
item() {
return this.$store.getters.get_item(this.$route.params.id)
}
}
一般来说,它应该可以工作(我通过传递一些数字来测试它,而不是“this.$route.params.id”),但它不是。。为什么?没有错误,什么都没有,只是空数组
my get_item函数
getters: {
get_item: (state) => (index) => {
return state.items.filter((item) => {
return item.id === index
}
}
}
您将
computed
定义为一个函数,而它应该是一个对象。请尝试:
computed: {
item() {
return this.$store.getters.get_item(this.$route.params.id)
}
}
您是否使用console.log
此.route.params.id
?确保你得到的是你所期望的计算的应该是一个对象,而不是一个函数。你应该指出你建议的修改,至少解释一下。就像Eric Guan的评论:“computed
应该是一个对象,而不是一个函数。”@Caillou同意