【问题标题】:Make a computed property based on a mapped computed property on vuejs根据 vuejs 上的映射计算属性创建计算属性
【发布时间】:2021-05-05 16:32:22
【问题描述】:

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

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

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

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 2017-08-23
      • 2010-11-24
      • 2019-02-11
      • 2018-02-21
      相关资源
      最近更新 更多