今天遇到一个问题: You may have an infinite update loop in a component render function. 网上虽然没有和我一模一样的使用场景,但思想是差很少的。通过查资料终于解决,在此记录一下。html
使用场景: el-tooltip在某些状况下可用,某些状况下禁用,出现上述报错的代码以下:浏览器
html:
<el-tooltip
effect="dark"
:content="getCartStatus(scope.row)"
placement="top"
:disabled="disCartTooltip">
</el-tooltip>
js:
getCartStatus(course) {
this.disCartTooltip = course.isInCart === 1;
},
复制代码
缘由是:bash
不停地更新变量状态,须要不停地渲染。oop
解决方法: 在渲染之前更新数据状态。在个人实例中,就是先告诉浏览器el-tooltip是否可用,若是可用,才去告诉浏览器hover的内容是什么。 代码以下:this
<el-tooltip
effect="dark"
:content="getCartStatus(scope.row)"
placement="top"
:disabled="scope.row.isInCart === 1">
</el-tooltip>
复制代码