在使用v-for的时候遇到了这样的错误:Cannot use v-for on stateful component root element because it renders multiple elements.
错误如图:
错误代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app" v-for="item in arr">
{{item.text}}
</div>
<script type="text/javascript" src="js/vue.js" ></script>
<script>
var app = new Vue({
el:"#app",
data:{
arr: [
{ text: '学习 JavaScript' },
{ text: '学习 Vue' },
{ text: '整个牛项目' }
]
}
})
</script>
</body>
</html>
错误提示翻译为中文大致意思:不能在根元素(root element)使用 v-for,因为v-for是个循环体呈现多个元素,v-for在根元素上导致无法渲染。
解决方案:不要把v-for放在根元素即可。
把代码中
<div id="app" v-for="item in arr">
{{item.text}}
</div>
修改为
<div id="app" >
<div v-for="item in arr">
{{item.text}}
</div>
</div>