Vue.js - Как передать параметры в функцию фильтра JavaScript в вычисляемом свойстве? - PullRequest
0 голосов
/ 26 октября 2018

Я хочу передать переменную в качестве параметра вычисляемому свойству.

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

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

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

Здесь в качестве параметра я передаю значение, являющееся элементом restaurant_items объектов массива.

Например (: - is_thai)

Но это ничего не выводит меня.Что не так с моим кодом?

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Если я правильно вас понимаю, то, что вы действительно хотите сделать, это:

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

Вам необходимо использовать скобочную запись для доступа к свойствам объекта через переменную, а не через точечную.

0 голосов
/ 26 октября 2018

Вычисленные свойства не принимают параметры. Но вы можете использовать метод для достижения того же самого

methods: {
    dishes(param) {
        // return whatever
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...