Vue中的template标签的使用和在template标签上使用v-for


我们知道  .vue 文件的基本结构是:

复制代码
<template>
       ........
</template>

<script>
export
default {
name:
"demo"

}

</script>

<style scoped>

.demo {
      font</span>-<span style="color: #000000;">size: 28px;
}

</style>

复制代码

上面template标签,我们都知道是用来写 html 模板的,且内部必须只有一个根元素,像这样(不然报错)

<template>
    <div class="demo">
        .....
    </div>
</template>

但有时候我们也会看到,这样的写法,在template上使用for循环:

 

复制代码
<template>
    <div class="root">
        <!--在template上使用for循环-->
        <template v-for="item,index in 5">
            <div>{{index}}---{{item}}</div>
        </template>
    </div>
</template>
复制代码

下面我们来看一下template是什么:

<template>
    <div class="root">
        <template>看看外面的标签是什么</template>
    </div>
</template>

在浏览器中解析完的结果:

 

 可以看到文字外面是 div.root  ,所以本质上的<template>标签并没有什么意义。

所以我们再来看一下刚才的循环:

复制代码
<template>
    <div class="root">
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">template </span><span style="color: #ff0000;">v-for</span><span style="color: #0000ff;">="item,index in 5"</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>测试{{index}}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">template</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>

</template>

复制代码

浏览器解析后的效果:

 

 可以看出这样写,类似平常这样写:

复制代码
<template>
    <div class="root">
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div </span><span style="color: #ff0000;">v-for</span><span style="color: #0000ff;">="item,index in 5"</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>测试{{index}}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>

</template>

复制代码

但是这样循环出来会多出一层div来

 

 所以我们有时候,不需要这外层的 div  所以我们可以采用上面 的方法,在 <template>标签上使用 v-for来循环。或者这样写:

复制代码
<template>
    <div class="root">
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div </span><span style="color: #ff0000;">v-for</span><span style="color: #0000ff;">="item,index in 5"</span><span style="color: #ff0000;"> :key</span><span style="color: #0000ff;">="index"</span><span style="color: #0000ff;">&gt;</span>测试{{index}}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span>

</template>

复制代码

 

完!

 

作者:暗恋桃花源丫
本人web前端小白,只是用博客作为笔记!
转载的文章,如有侵权24小时内删除!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。