在这里触发我的按钮中的点击处理程序时出现问题。当我单击按钮时,错误以TypeError: Cannot read property 'discountProduct' of null
的形式返回。我知道一个事实,this.discountProduct.id
可以通过从Vue工具中检查它并知道按钮是从渲染开始的,因为它仅有条件地显示id
> 1.
或者,我尝试删除this
,但仍然抛出相同的错误。
我还尝试了手动操作,只是将产品ID插入为参数,并且可以正常工作,所以我不确定这是什么问题。
<button v-if="this.discountProduct.id >= 1"
type="button"
v-on:click="addToCart(this.discountProduct.id, true)"
答案 0 :(得分:0)
您是否按下了<template>
标签?
如果是这样,则无需使用click参数和v-if中的this
delete。但是那只会发出警告。
您还可以发布方法addToCart
的代码吗?
如果您未设置完整的discountProduct
对象,则需要确保将id设置为反应性。像下面的例子一样:
this.$set(this.discountProduct, 'id', 1)
嵌套对象/键在不使用$ set的情况下不起作用。有关更多详细信息,请参见https://vuejs.org/v2/guide/reactivity.html。
希望这会有所帮助