問(wèn)題:總有一個(gè)報(bào)錯(cuò)益涧,指的是一個(gè)未聲明的變量
這個(gè)屬性是新建的栏饮,用來(lái)記錄客戶(hù)購(gòu)買(mǎi)的數(shù)量盅蝗,先引入全局vue巷怜,在用全局vue.set()方法添加屬性
html
<div class="num" v-show="food.count>0" >{{ count }}</div>
js:
add(event) {// 增加數(shù)量
if(!event._constructed){// 阻止pc端點(diǎn)擊后執(zhí)行兩次
return;
}
if (!this.food.count) {
Vue.set(this.food,"count",1)
} else {
this.food.count++;
}
}
vue.set(對(duì)象绪撵,屬性瓢姻,初始化)
屬性創(chuàng)建沒(méi)問(wèn)題,但是dom結(jié)構(gòu)中需要這個(gè)count來(lái)判斷列表是否渲染音诈,而這個(gè)創(chuàng)建屬性的方法是綁定在用戶(hù)點(diǎn)擊的按鈕上幻碱,所以一開(kāi)始數(shù)據(jù)里是沒(méi)有這個(gè)屬性的,會(huì)報(bào)錯(cuò)
解決方法:
export default{
data() {
return {
count: 0
}
}细溅,
methods:{
add(event) {// 增加數(shù)量
if(!event._constructed){// 阻止pc端點(diǎn)擊后執(zhí)行兩次
return;
}
if (!this.food.count) {
Vue.set(this.food,"count",1)
this.count = this.food.count;
} else {
this.food.count++;
this.count =this.food.count;
}
}
}
}
在data里新建一個(gè)屬性褥傍,用來(lái)初始化