一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - vue.js - 詳解template標(biāo)簽用法(含vue中的用法總結(jié))

詳解template標(biāo)簽用法(含vue中的用法總結(jié))

2021-12-30 16:16fengyezi159 vue.js

這篇文章主要介紹了template標(biāo)簽用法(含vue中的用法總結(jié)),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

一、html5中的template標(biāo)簽

html中的template標(biāo)簽中的內(nèi)容在頁面中不會顯示。但是在后臺查看頁面DOM結(jié)構(gòu)存在template標(biāo)簽。這是因為template標(biāo)簽天生不可見,它設(shè)置了display:none;屬性。

?
1
2
3
<!--當(dāng)前頁面只顯示"我是自定義表現(xiàn)abc"這個內(nèi)容,不顯示"我是template",這是因為template標(biāo)簽天生不可見-->
<template><div>我是template</div></template>
<abc>我是自定義表現(xiàn)abc</abc>

二、template標(biāo)簽操作的屬性和方法

  • content屬性:在js中template標(biāo)簽對應(yīng)的dom對象存在content屬性,對應(yīng)的屬性值是一個dom節(jié)點,節(jié)點的nodeName是#document-fragment。通過該屬性可以獲取template標(biāo)簽中的內(nèi)容,template對象.content可以調(diào)用getElementById、querySelector、querySelectorAll方法來獲取里面的子節(jié)點。
  • innerHTML:可以獲取template標(biāo)簽中的html。
?
1
2
3
4
5
6
7
8
9
10
11
<template id="tem">
 <div id="div1">我是template</div>
 <div>我是template</div>
</template>
<script>
 let o = document.getElementById("tem");
 console.log(o.content.nodeName);//#document-fragment
 console.log(o.content.querySelectorAll("div"));//NodeList(2) [div#div1, div]。得到一個類數(shù)組
 console.log(o.content.getElementById("div1"));//<div id="div1">我是template</div>
 console.log(o.innerHTML);//'<div id="div1">我是template</div><div>我是template</div>'
</script>

三、vue中的template

 1、template標(biāo)簽在vue實例綁定的元素內(nèi)部

它是可以顯示template標(biāo)簽中的內(nèi)容,但是查看后臺的dom結(jié)構(gòu)不存在template標(biāo)簽。如果template標(biāo)簽不放在vue實例綁定的元素內(nèi)部默認(rèn)里面的內(nèi)容不能顯示在頁面上,但是查看后臺dom結(jié)構(gòu)存在template標(biāo)簽。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div id="app">
 <!--此處的template標(biāo)簽中的內(nèi)容顯示并且在dom中不存在template標(biāo)簽-->
 <template>
 <div>我是template</div>
 <div>我是template</div>
 </template>
</div>
<!--此處的template標(biāo)簽中的內(nèi)容在頁面中不顯示,但是在dom結(jié)構(gòu)存在該標(biāo)簽及內(nèi)部結(jié)構(gòu)-->
<template id="tem">
 <div id="div1">我是template</div>
 <div>我是template</div>
</template>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
 let vm = new Vue({
 el: "#app",
 });
</script>

注意: vue實例綁定的元素內(nèi)部的template標(biāo)簽不支持v-show指令,即v-show="false"對template標(biāo)簽來說不起作用。但是此時的template標(biāo)簽支持v-if、v-else-if、v-else、v-for這些指令。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div id="app">
 <template v-if="true">
 <!--此時template標(biāo)簽中的內(nèi)容顯示在頁面上,但是看dom結(jié)構(gòu)沒有template標(biāo)簽-->
 <div>我是template</div>
 <div>我是template</div>
 </template>
 <div v-if="true">
 <!--此時頁面上顯示div標(biāo)簽中的內(nèi)容,并且看dom結(jié)構(gòu)存在最外面的div標(biāo)簽-->
 <div>我是template</div>
 <div>我是template</div>
 </div>
 <!--此處會輸出6個‘我是template'并且dom結(jié)構(gòu)中不存在template標(biāo)簽-->
 <template v-for="a in 3">
 <div>我是template</div>
 <div>我是template</div>
 </template>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
 let vm = new Vue({
 el: "#app",
 });
</script>

2、vue實例中的template屬性

將實例中template屬性值進(jìn)行編譯,并將編譯后的dom替換掉vue實例綁定的元素,如果該vue實例綁定的元素中存在內(nèi)容,這些內(nèi)容會直接被覆蓋。
特點:

1)如果vue實例中有template屬性,會將該屬性值進(jìn)行編譯,將編譯后的虛擬dom直接替換掉vue實例綁定的元素(即el綁定的那個元素);
2)template屬性中的dom結(jié)構(gòu)只能有一個根元素,如果有多個根元素需要使用v-if、v-else、v-else-if設(shè)置成只顯示其中一個根元素;
3)在該屬性對應(yīng)的屬性值中可以使用vue實例data、methods中定義的數(shù)據(jù)。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!--此處頁面顯示hello-->
<div id="app"></div>
<!--此處template標(biāo)簽必須在vue綁定的元素外面定義,并且在頁面中不顯示下面的template標(biāo)簽中的內(nèi)容-->
<template id="first">
 <div v-if="flag">{{msg}}<div>
 <div v-else>111<div>
</template>
<script src="./node_modules/vue/dist/vue.js"></script>
<script>
 let vm = new Vue({
 el:"#app",
 data:{
  msg:"hello",
  flag:true
 },
 template:"#first"//通過該屬性可以將自定義的template屬性中的內(nèi)容全部替換app的內(nèi)容,并且會覆蓋里面原有的內(nèi)容,并且在查看dom結(jié)構(gòu)時沒有template標(biāo)簽
 });
</script>

上面的例子中html中的template標(biāo)簽可以變成自定的標(biāo)簽,如下。但是下面這種方式也可以將<abc></abc>標(biāo)簽中的內(nèi)容替換掉app元素,但是<abc></abc>標(biāo)簽中的內(nèi)容也會顯示在頁面上。所以此處利用template標(biāo)簽來定義vue實例中需要設(shè)置的template屬性。

?
1
2
3
4
<abc id="first">
 <div v-if="flag">{{msg}}<div>
 <div v-else>111<div>
</abc>

上面的實例還可以寫成下面的形式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<!--此處頁面顯示hello-->
<div id="app"></div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script>
 let vm = new Vue({
 el:"#app",
 data:{
  msg:"hello",
  flag:true
 },
 template:"<div v-if='flag'>{{msg}}</div><div v-else>123</div>"//模板中只能有一個根元素,如果有多個需要使用v-if、v-else、v-else-if來選擇顯示哪一個
 });
</script>

到此這篇關(guān)于詳解template標(biāo)簽用法(含vue中的用法總結(jié))的文章就介紹到這了,更多相關(guān)template標(biāo)簽用法內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/u010510187/article/details/100356624

延伸 · 閱讀

精彩推薦
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.jsVue2.x-使用防抖以及節(jié)流的示例

    Vue2.x-使用防抖以及節(jié)流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節(jié)流的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學(xué)的同學(xué),可能js的基礎(chǔ)也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術(shù)團(tuán)隊7992021-12-22
  • vue.jsVue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    這篇文章主要介紹了Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋...

    優(yōu)小U9632022-02-21
  • vue.jsVue中引入svg圖標(biāo)的兩種方式

    Vue中引入svg圖標(biāo)的兩種方式

    這篇文章主要給大家介紹了關(guān)于Vue中引入svg圖標(biāo)的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的...

    十里不故夢10222021-12-31
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學(xué)可以研究下...

    yukiwu6752022-01-25
  • vue.jsVue項目中實現(xiàn)帶參跳轉(zhuǎn)功能

    Vue項目中實現(xiàn)帶參跳轉(zhuǎn)功能

    最近做了一個手機(jī)端系統(tǒng),其中遇到了父頁面需要攜帶參數(shù)跳轉(zhuǎn)至子頁面的問題,現(xiàn)已解決,下面分享一下實現(xiàn)過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.js用vite搭建vue3應(yīng)用的實現(xiàn)方法

    用vite搭建vue3應(yīng)用的實現(xiàn)方法

    這篇文章主要介紹了用vite搭建vue3應(yīng)用的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下...

    Asiter7912022-01-22
主站蜘蛛池模板: 国产精品亚洲片在线va | 校园春色自拍偷拍 | 深夜免费在线视频 | 国产精品亚洲片在线va | 日本三级做a全过程在线观看 | 含羞草国产亚洲精品岁国产精品 | 美女被吸乳得到大胸 | 欧美图片另类小说综合 | 大胸孕妇孕交pregnantsex 大象视频污 | yellow视频在线观看免费 | 校花被吃奶还摸下面 | 3d美女触手怪爆羞羞漫画 | 超级乱淫 不详 | 国产免费看黄的私人影院 | 色综合久久丁香婷婷 | 亚洲美色综合天天久久综合精品 | 欧美日韩在线一区二区三区 | 男男gaygays18中国 | 欧美精品一区二区三区免费 | 美女脱一光二净的视频 | www91在线观看 | 美女福利视频一区二区 | 国内会所按摩推拿国产 | 成品人视频免费观看 | 嫩模被黑人粗大挺进 | 男人的天堂欧美 | 激情综合色啪啪小说 | 91yellow吧字幕网zmff7 | 好大好硬好深好爽想要之黄蓉 | 日本指交 | 欧美日韩国产一区二区三区伦 | 亚洲性久久久影院 | 免费精品99久久国产综合精品 | 久久精品国产色蜜蜜麻豆国语版 | 丁香五香天堂网 | 四虎国产视频 | 天天天天天干 | 日本在线精品视频 | 亚洲国产精品自产在线播放 | 视频一区国产精戏刘婷30 | 韩国靠逼|