Vue.js-如何将参数传递给计算属性内的JavaScript过滤器函数?

时间:2018-10-26 12:31:42

标签: javascript vuejs2

我想将变量作为参数传递给计算属性。

computed: {
    dishes() {
      let param = this.cuisine;

      let dishes = this.restaurant.restaurant_items.filter(element => {
        element.param
      });

      return dishes;
    }
},
data(){
    return{
        cuisine:""
    }
}

作为参数,我传递了一个值,该值是restaurant_items数组对象的元素。

eg(:-is_thai)

但这不会输出任何信息。我的代码有什么问题?

2 个答案:

答案 0 :(得分:0)

计算的属性不接受参数。但是您可以使用一种方法来完成同一件事

methods: {
    dishes(param) {
        // return whatever
    }
}

答案 1 :(得分:0)

如果我对您的理解正确,那么您真正想要做的是:

computed: {
  dishes() {
    return this.restaurant.restaurant_items.filter((e) => e[this.cuisine])
  }
}

您需要使用方括号符号通过变量而不是点符号来访问对象属性。