如果我有以下标记:
<template v-if="item.countries">
<span v-for="c in item.countries" :key="c">
<img class="md-layout-item country-flag" :src="`/static/countries/${c}.svg`" :alt="c"/>
</span>
</template>
它运作得很好。但是,如果我改变它:
<template v-if="item.countries">
<span v-for="c in item.countries" :key="c">
<img class="md-layout-item country-flag" :src="`/static/countries/${c}.svg`" :alt="c"/>
<md-tooltip>hi</md-tooltip>
</span>
</template>
(注意md-tooltip
标签)。 ..它最终出现在一个无限的渲染循环中,由以下javascript错误表示:
[Vue警告]:您可能在组件渲染中有一个无限的更新循环 功能。发现在..
每隔一秒左右就会记录一次这个错误,导致我的CPU崩溃。为什么会这样?我之前从未遇到过这个问题,我不明白它为什么会发生以及如何解决它。
修改1 :我为此
打开了Github issue编辑2 :这是完整的堆栈跟踪:
vue.esm.js?efeb:578 [Vue警告]:你可能有一个无限的更新循环 在组件渲染功能中。
在
中找到---&GT;在src \ components \ ArtistReleasesList \ ArtistReleasesList.vue 在src \ components \ SubContentHub \ SubContentHub.vue 在src \ components \ ArtistDetailsPage \ ArtistDetailsPage.vue 在src / components / MdContent / MdContent.vue 在src / components / MdApp / MdAppContent.vue 在src / components / MdApp / MdAppInternalDrawer.vue 在src \ components \ AuthenticatedPage \ AuthenticatedPage.vue 在src \ components \ App \ App.vue
编辑3 :我在codesandbox.io上发布了一个简约项目。的提防!这将耗尽您的CPU并可能使您的浏览器不负责任。如果您无法再关闭浏览器选项卡,则可以终止消耗最多CPU能力和内存的浏览器进程以结束它。