我们可以在vuejs中的自定义组件模板中使用v-for吗?

时间:2017-03-19 02:44:24

标签: vue.js

在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?谢谢,

1 个答案:

答案 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>