Vue中的插槽相信使用過Vue的小夥伴或多或少的都用過,但是你是否了解它的用法呢?這篇文章就為大家帶來Vue中插槽Slot基本使用和具名插槽,希望對大家有幫助!
⭐⭐
初識插槽:
div
、 span
等等這些元素;【相關推薦:vuejs影片教學】換句話說就是,我們要是想在一個元件標籤中加入新的內容,那麼我們就需要在該元件內宣告一個插槽,不然,新增的新內容不會被渲染
⭐⭐
使用插槽:
slot
元素作為插槽slot
標籤中設定一個預設內容使用插槽案例:
父元件
App.vue
<template> <div class="app"> <!-- 内容是button --> <show-message title="哈哈哈"> <button>我是按钮元素</button> </show-message> <!-- 内容是超链接 --> <show-message> <a href="#">百度一下</a> </show-message> <!-- 没有值传递 --> <show-message></show-message> </div> </template>
子元件showMessage.vue
<template> <h2>{{title}}</h2> <div class="content"> <slot> <p>我是默认值</p> </slot> </div> </template>
showMessage
裡面,我們給它一個插槽,App.vue
, 我們給showMessage
三次重複使用,一次為按鈕
,一次為a標籤
,一次什麼也不加
一個為按鈕
,一個為a連結
,一個為插槽預設的p標籤
我們可以看出來
⭐⭐
希望達到的效果是插槽對應內容的顯示,這個時候我們就可以使用具名插槽:
slot
元素有一個特殊的attribute:name
; name
的slot
,會帶有隱含的名字 default
;template
標籤, 並在template
#中使用
##父元件#App.vue
<template> <nav-bar> <template v-slot:left> <button>返回</button> </template> <template v-slot:center> <span>内容</span> </template> <template v-slot:right> <a href="#">登录</a> </template> </nav-bar> </template>
子元件NavBar.vue
(顏色啥的css裡面自己可以調,這裡就不放了)
<template> <div class="nav-bar"> <div class="left"> <slot name="left">left</slot> </div> <div class="center"> <slot name="center">center</slot> </div> <div class="right"> <slot name="right">right</slot> </div> </div> </template>
效果圖:
# 達到的效果是插槽對應的顯示
所以這就是具名插槽的作用
⭐⭐
動態插槽名稱
透過v-slot: [dynamicSlotName]
方式動態綁定一個名稱;
Ps:還有作用域插槽,我目前還不是很理解,先不寫了~
#以上是淺析Vue中插槽Slot的作用與具名插槽的詳細內容。更多資訊請關注PHP中文網其他相關文章!