如果我有以下标记:
<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 问题
编辑 2:这是完整的堆栈跟踪:
vue.esm.js?efeb:578 [Vue 警告]:您可能在组件渲染函数中有无限更新循环。
在发现
---> 在 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 功率和内存的浏览器进程来结束它。