前言:在開發前段頁面使用vue時,咱們能常常看到template標籤。這裏粗略講下本身對vue中template理解和使用。html
咱們知道HTML中全部的內容都是節點組成的。
當網頁被加載時,瀏覽器會建立頁面的文檔對象模型(Document Object Model)。
經過DOM,能夠訪問全部的HTML元素,連同它們的文本和屬性,能夠進行修改、刪除以及建立新的元素。
HTML文檔中的全部元素(節點)組成了一個文檔樹(節點樹、DOM樹)
vue
相比頻繁的手動去操做dom而帶來的性能問題,vdom(virtual-dom)很好的將dom作了一層映射關係,將咱們本須要直接進行dom的一系列操做映射到了vdom中。
在vdom上定義了關於真實dom的一些關鍵信息,而vdom徹底使用js去實現的,和宿主瀏覽器沒有任何聯繫。
此外得益於js的執行速度,將本來須要在真實dom進行的建立節點,刪除節點,添加節點等一系列複雜的dom操做所有放到vdom中進行,這樣就經過操做vdom來提升直接操做的dom的效率和性能。編程
在Vue的整個應用生命週期當中,每次須要更新視圖的時候便會使用vdom。瀏覽器
在HTML5中,templae用來聲明"模板元素"。框架
<script type="text/template">複製代碼
template性質:dom
template:"<four_component/>"
複製代碼
做爲組件時須要先註冊;不是組件,則設置成字符串組件化
template:"<div><div/>"
複製代碼
當咱們直接應用組件時,由於vue沒法直接進行渲染而致使組件失效性能
<child-component>想要輸出的內容</child-component>
複製代碼
若是要使用組件標籤,咱們就能夠利用template標籤,加上slot插槽屬性,組成<template slot="插槽名"></template>spa
<child-component>
<template slot="插槽名">
想要輸出的內容
</template>
</child-component 複製代碼