Vue: мое начальное значение данных недоступно при использовании в качестве параметра функции - PullRequest
0 голосов
/ 20 июня 2019

У меня возникла проблема при запуске обработчика щелчка в моей кнопке здесь.Ошибка возвращается как TypeError: Cannot read property 'discountProduct' of null, когда я нажимаю кнопку.Я точно знаю, что this.discountProduct.id имеет значение, проверяя его из Vue Tools и зная, что кнопка рендеринга для начала, поскольку она только условно показывает, если id> 1.
, я альтернативно пыталсяудалить this, но все равно выдает ту же ошибку.
Я также попытался вручную просто вставить идентификатор продукта в качестве параметра, и это работает, поэтому я не уверен, в чем проблема на данный момент.

<button v-if="this.discountProduct.id >= 1"
    type="button"
    v-on:click="addToCart(this.discountProduct.id, true)"

1 Ответ

0 голосов
/ 20 июня 2019

Являетесь ли вы кнопкой в ​​тегах <template>?

Если это так, вам не нужно использовать this delete из аргумента click и v-if.Однако это должно выдать только предупреждение.

Можете ли вы также опубликовать код для метода addToCart?

Если вы не устанавливаете полный объект discountProduct, вам необходимо убедиться, чтоустановка идентификатора является реактивной.Как в примере ниже:

this.$set(this.discountProduct, 'id', 1)

Вложенный объект / ключи не реагируют без использования $ set.См. https://vuejs.org/v2/guide/reactivity.html для получения более подробной информации.

Надеюсь, это поможет

...