我收到了以下无限循环警告。 我明白这可能是因为我在模板的for循环中更改了一个变量,因为调用了一个方法。 有什么办法可以解决吗? 循环确实完成了,所以它实际上并不是一个无限循环,但我想修复警告。
[Vue warn]: You may have an infinite update loop in a component render function.
代码片段:
new Vue({
el: '#app',
data: {
contents: {"34": {"id": 34, build_name: "email_simple", build_readable: "Email"},"35": {"id": 35, build_name: "email_complex", build_readable: "Email"},"36": {"id": 36, build_name: "email_half", build_readable: "Email"}},
last_build_type: '',
contents_tree: [34,35,36]
},
methods: {
checkBuildType(id){
let check = false;
if(this.last_build_type !== this.contents[id].build_name){
check = true
}
this.last_build_type = this.contents[id].build_name;
return check
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<template v-for="(id, i) in contents_tree">
<div v-bind:key="i + '_' + id" class="inline">
<template v-if="checkBuildType(id)">
{{i}} - {{id}} -
{{contents[id].build_readable}}
<br>
</template>
</div>
</template>
</div>
contents_tree
是什么?我认为我们需要更多的代码来查看实际上是什么导致了错误。 - depperm