需求:

多个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)
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐