ссылаясь на элемент v-for внутри получателя вычисляемой функции - PullRequest
0 голосов
/ 22 октября 2018

В Vue у меня есть цикл v-for, который отображает входные данные в соответствии с имеющимся у меня объектом.Ввод осуществляется с помощью v-модели в вычисляемую функцию:

<template v-for="product in products>"
  {{ product.Name }}: <input type="text" v-model="productAmount">
</template>

и, соответственно, вычисляемую функцию с get и setter:

computed: {
  productAmount: {
    get () {
      this.product.DefaultAmount
    },
    set (newAmount) {
      // doing something
    }
  }
}

Проблема в том, что this.product вget() не определено.

Есть ли способ обратиться к динамической переменной v-for внутри геттера вычисляемой функции?

1 Ответ

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

Если вы хотите использовать свойство computed, вы должны создать дочерний компонент и передать продукт как свойство (<Procuct v-for="p in products" :product="p"/>).

В качестве альтернативы, если это не дорогая операция, вы можете легко заменитьcomputed с method вместо этого и используйте это:

...
methods: {
  getAmountForProduct(product) {
    return product.DefaultAmount
  }
}
...