电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:86日期:2022-10-11 15:28:59
一、html5中的template標(biāo)簽

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

<!--當(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。

<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)簽。

<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='http://www.hdgsjgj.cn/bcjs/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這些指令。

<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='http://www.hdgsjgj.cn/bcjs/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ù)。

<!--此處頁面顯示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='http://www.hdgsjgj.cn/bcjs/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屬性。

<abc id='first'> <div v-if='flag'>{{msg}}<div> <div v-else>111<div></abc>

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

<!--此處頁面顯示hello--><div id='app'></div><script src='http://www.hdgsjgj.cn/bcjs/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ǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 洁净棚-洁净工作棚-无菌室-净化工程公司_北京卫护科技有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 联系我们老街华纳娱乐公司官网19989979996(客服) | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 膏方加工_丸剂贴牌_膏滋代加工_湖北康瑞生物科技有限公司 | 线粒体膜电位荧光探针-细胞膜-标记二抗-上海复申生物科技有限公司 | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | 中宏网-今日新闻-财经新闻 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 德国进口电锅炉_商用电热水器_壁挂炉_电采暖器_电热锅炉[德国宝] | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 破碎机锤头_合金耐磨锤头_郑州宇耐机械工程技术有限公司 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 扒渣机,铁水扒渣机,钢水扒渣机,铁水捞渣机,钢水捞渣机-烟台盛利达工程技术有限公司 | 安徽成考网-安徽成人高考网| 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 算命免费_生辰八字_免费在线算命 - 卜算子算命网 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 交通气象站_能见度检测仪_路面状况监测站- 天合环境科技 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | HDPE储罐_厂家-山东九州阿丽贝防腐设备 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 |