在 vuejs 上基于映射的计算 属性 进行计算 属性

Make a computed property based on a mapped computed property on vuejs

我需要使用映射状态的值来生成另一个计算 属性。

computed: {
    ...mapState({
      items: (state) => state.items.items,
    }),
    isFood:  this.items.find(
          (item) => item.category == "Food"
        ) !== undefined
  },

当我尝试 运行 时,我得到了 Cannot read property 'items' of undefined 的错误。

您正在尝试在 isFood 声明时间 调用 this.items.find - 这还不存在。使其成为一个函数:

isFood() {
  return this.items.some((item) => item.category === "Food");
},

我还更改了您的函数以使用 some(),这样它在找到食物时就不会费心循环遍历项目数组的其余部分。