Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 带参数的Vuex和Vuex getter_Vue.js_Vuex - Fatal编程技术网

Vue.js 带参数的Vuex和Vuex getter

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>

我有一个基于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>
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同意