Javascript 创建多个组件

Javascript 创建多个组件,javascript,vue.js,vuejs2,vue-component,v-for,Javascript,Vue.js,Vuejs2,Vue Component,V For,我想知道,如果有视力,是否可以调用某个组件若干次 基本上,我有一个大小变量,初始化为5,我希望它是小部件组件的5倍 这是我当前的代码: 模板: <template> <div v-for="item in size" :key="item"> <Widget/> </div> </template> 我已经查看了v-for,但我不明白它是如何工作的。一个组件只允许有一个根元素,因此最外层元素上的v-fo

我想知道,如果有视力,是否可以调用某个组件若干次

基本上,我有一个大小变量,初始化为5,我希望它是小部件组件的5倍

这是我当前的代码:

模板:

<template>
    <div v-for="item in size" :key="item">
        <Widget/>
    </div>
</template>

我已经查看了
v-for
,但我不明白它是如何工作的。

一个组件只允许有一个根元素,因此最外层元素上的
v-for
会抛出一个错误,因为它会创建多个根元素。以下任一项都可以为您解决此问题:

<template>
    <div>
        <div v-for="item in size" :key="item">
            <Widget/>
        </div>
    </div>
</template>


一个组件只允许有一个根元素,因此最外层元素上的
v-for
会抛出一个错误,因为它会创建多个根元素。以下任一项都可以为您解决此问题:

<template>
    <div>
        <div v-for="item in size" :key="item">
            <Widget/>
        </div>
    </div>
</template>


如果您想要固定数量的小部件,可以通过

<Widget v-for="number in 5" :key="number" />


请记住,组件的根模板元素不接受v-for。

如果需要固定数量的小部件,可以通过

<Widget v-for="number in 5" :key="number" />


请记住,组件的根模板元素不接受v-for。

再次阅读文档,
v-for
已经在这里解释过了。@Dan我的代码有一个错误:不能在有状态组件根元素上使用v-for,因为它会呈现多个元素。如果你将
v-for
div包装到另一个应该消失的div中,你可以这样做
@danah,那就是错的地方!非常感谢你的帮助!!!再次阅读文档,
v-for
在这里都有解释。@Dan我的代码有一个错误:无法在有状态组件根元素上使用v-for,因为它会呈现多个元素。如果将
v-for
div包装到另一个应该消失的div中,或者您可以执行
@Dan Ahah,那就是问题所在!非常感谢你的帮助!!!