需求:
多个div,根据各自的num计算各自的百分比
问题:
在data中,自己调用自己的数据生成百分比浏览器报错
data(){
return{
{num:100},
{num:0,percent:this.getPercent(this.totalData[1].num,this.totalData[0].num),
}
}
这样的话,浏览器中报错
解析:
我认为,虽然在vue中,this是指向VueComponent的,但是data中的属性调用另一属性的时候,data中的数据还没有解析出来,因为return {}对象的时候它们中所有的数据是一起渲染解析的,所以会出现undefined问 题。
解决方案:
将赋值操作写到mounted中,最终完美解决
this.totalData[1].percent = this.getPercent(this.totalData[1].num,this.totalData[0].num)