在html中使用以下代码,它可以工作:
<div v-for="i in [1,2,3]" >{{i}}</div>
但在组件模板中使用时:
Vue.component('test', {
template: '<div v-for="i in [1,2,3]" >{{i}}</div>'
})
会触发错误:
- Cannot use v-for on stateful component root element because it renders multiple elements.
任何想法在这种情况下使用v-for?谢谢,
答案 0 :(得分:5)
因为这样做,test
组件的结果将变为
<div>1</div>
<div>2</div>
<div>3</div>
组件必须具有根元素。添加根<div>
然后它应该工作:
Vue.component('test', {
template: '<div><div v-for="i in [1,2,3]" >{{i}}</div></div>'
})
输出:
<div>
<div>1</div>
<div>2</div>
<div>3</div>
</div>