vue插槽slot的簡單理解與用法實(shí)例分析
本文實(shí)例講述了vue插槽slot的簡單理解與用法。分享給大家供大家參考,具體如下:
vue中插槽的使用非常廣泛,本文就插槽的使用和理解簡單總結(jié)。
從字面理解插槽是預(yù)先插入一個(gè)代碼空間,用于后期塞入數(shù)據(jù)。
插槽分類
匿名插槽 ------------------ 匿名的代碼空間
具名插槽 ------------------ 帶有命名的代碼空間
作用域插槽 ------------------- 帶有數(shù)據(jù)的代碼空間
插槽使用示例
匿名插槽
說明在組件中先定義預(yù)留的代碼空間,組件在使用時(shí)直接寫入代碼
<template> <div class="child"> <h3>這里是子組件</h3> <slot></slot> </div> </template>
使用:
<template>
<div class="father">
<h3>這里是父組件</h3>
<child>
<div class="tmpl">
<span>菜單1</span>
<span>菜單2</span>
<span>菜單3</span>
<span>菜單4</span>
<span>菜單5</span>
<span>菜單6</span>
</div>
</child>
</div>
</template>
具名插槽
預(yù)先在組件中定義一個(gè)帶有名稱的代碼空間,使用組件時(shí)用:slot綁定名稱
<template> <div class="child"> // 具名插槽 <slot name="up"></slot> <h3>這里是子組件</h3> // 具名插槽 <slot name="down"></slot> // 匿名插槽 <slot></slot> </div> </template>
使用:
<template> <div class="father"> <h3>這里是父組件</h3> <child> //插槽up <div class="tmpl" slot="up"> <span>菜單1</span> <span>菜單2</span> <span>菜單3</span> <span>菜單4</span> <span>菜單5</span> <span>菜單6</span> </div> //插槽down <div class="tmpl" slot="down"> <span>菜單-1</span> <span>菜單-2</span> <span>菜單-3</span> <span>菜單-4</span> <span>菜單-5</span> <span>菜單-6</span> </div> //匿名插槽 <div class="tmpl"> <span>菜單->1</span> <span>菜單->2</span> <span>菜單->3</span> <span>菜單->4</span> <span>菜單->5</span> <span>菜單->6</span> </div> </child> </div> </template>
作用域插槽 (有數(shù)據(jù),但放開了渲染)
在組件中預(yù)先定義一個(gè)帶有數(shù)據(jù)資源的代碼空間,使用組件時(shí)可以直接使用代碼空間中的數(shù)據(jù)
定義
<template> <div class="child"> <h3>這里是子組件</h3> // 作用域插槽 <slot :data="data"></slot> </div> </template>
export default {
data: function(){
return {
data: ['zhangsan','lisi','wanwu','zhaoliu','tianqi','xiaoba']
}
}
}
使用
<template>
<div class="father">
<h3>這里是父組件</h3>
<!--第一次使用:用flex展示數(shù)據(jù)-->
<child>
<template slot-scope="user">
<div class="tmpl">
<span v-for="item in user.data">{{item}}</span>
</div>
</template>
</child>
<!--第二次使用:用列表展示數(shù)據(jù)-->
<child>
<template slot-scope="user">
<ul>
<li v-for="item in user.data">{{item}}</li>
</ul>
</template>
</child>
<!--第三次使用:直接顯示數(shù)據(jù)-->
<child>
<template slot-scope="user">
{{user.data}}
</template>
</child>
<!--第四次使用:不使用其提供的數(shù)據(jù), 作用域插槽退變成匿名插槽-->
<child>
我就是模板
</child>
</div>
</template>
總結(jié):
匿名插槽和具名插槽的功能是 預(yù)留插入代碼的空間;
作用域插槽是提供數(shù)據(jù)資源,預(yù)留代碼渲染邏輯空間。
希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。
相關(guān)文章
element?el-tooltip實(shí)現(xiàn)自定義修改樣式
本文主要介紹了element?el-tooltip實(shí)現(xiàn)自定義修改樣式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Vue computed 計(jì)算屬性代碼實(shí)例
在本篇文章里小編給大家分享的是關(guān)于Vue computed 計(jì)算屬性代碼實(shí)例,需要的朋友們可以參考下。2020-04-04
vxe-table?實(shí)現(xiàn)表格數(shù)據(jù)分組功能(按指定字段數(shù)據(jù)分組)
文章介紹了如何使用樹結(jié)構(gòu)實(shí)現(xiàn)表格數(shù)據(jù)分組,并提供了官方文檔的鏈接,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-11-11
vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式
這篇文章主要介紹了vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
vue表單驗(yàn)證rules及validator驗(yàn)證器的使用方法實(shí)例
在vue開發(fā)中,難免遇到各種表單校驗(yàn),下面這篇文章主要給大家介紹了關(guān)于vue表單驗(yàn)證rules及validator驗(yàn)證器使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
vue監(jiān)聽頁面滾動(dòng)到某個(gè)高度觸發(fā)事件流程
這篇文章主要介紹了vue監(jiān)聽頁面滾動(dòng)到某個(gè)高度觸發(fā)事件流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vue中選項(xiàng)卡點(diǎn)擊切換且能滑動(dòng)切換功能的實(shí)現(xiàn)代碼
本文通過實(shí)例代碼給大家介紹了vue中選項(xiàng)卡點(diǎn)擊切換且能滑動(dòng)切換功能,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下2018-11-11
vue輕松實(shí)現(xiàn)虛擬滾動(dòng)的示例代碼
移動(dòng)端網(wǎng)頁的日常開發(fā)中,偶爾會(huì)包含一些渲染長列表的場景,本文主要介紹了vue 虛擬滾動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07

