uniapp中computed踩得坑
<view class="title">{{marketLength}}</view>
<button @click="add">加长度</button>
<button @click="clear">清空</button>
data() {
return {
list: {
order: [],
counts: 0
}
}
},
computed:{
marketLength(){
let counts = 0
for (let h in this.list.order) {
counts += Number(this.list.order[h].count)
}
return counts
}
},
onLoad(){
console.log('onLoad===',this.list.order)
},
methods: {
add(){
this.list.order.push({count:1})
},
clear(){
this.list = {
order:[],
counts: 0
}
console.log('clear===',this.list.order)
/** 以下清空后不会走computed **/
// 好像是动态添加属性后没有get和set方法
// 正在找原因
// this.list = {}
// this.list.order = []
// this.list.counts = 0
// console.log('clear===',this.list.order) 输出
}
}
onLoad(){
console.log(‘onLoad===’,this.list.order)输出为下图
}
this.list = {}
this.list.order = []
this.list.counts = 0
console.log(‘clear===’,this.list.order) 输出为下图
this.list = {
order:[],
counts: 0
}
console.log(‘clear===’,this.list.order)输出为下图
目前只发现这些区别,应该和重新定义对象的属性方式有关。
有大佬知道的话麻烦告知下,感谢