带参数的Vuex和vuex getter

时间:2017-11-23 12:11:02

标签: 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>

使用getter从Vuex状态加载Items数组。所以问题是,当我按下编辑&#39;按钮,它将我重定向到另一个页面,我有一个像这样的功能

computed() {
  item() {
    return this.$store.getters.get_item(this.$route.params.id)
  }
}

并且通常它应该工作(我通过传递一些数字而不是&#34来测试它;这个。$ route.params.id&#34;)但它不是......为什么?没有错误,没有,只是空数组

我的get_item函数

getters: {
  get_item: (state) => (index) => {
    return state.items.filter((item) => {
      return item.id === index
    }
  }
}

1 个答案:

答案 0 :(得分:2)

您将computed定义为函数,而它应该是一个对象。请尝试改为:

computed: {
  item() {
    return this.$store.getters.get_item(this.$route.params.id)
  }
}