vue具名插槽的基本使用實例
更新時間:2021年05月23日 12:44:44 作者:yh8899abc
Vue 中的插槽在開發(fā)組件的過程中其實是非常重要并且好用的。下面這篇文章主要給大家介紹了關于vue具名插槽基本使用的相關資料,需要的朋友可以參考下
前言
具有名字的插槽slot使用 中的 "name" 屬性綁定元素
注意:
1,如果沒有匹配到 則放到匿名的插槽中
2,具名插槽的渲染順序,完全取決于模板,而不是取決于父組件中元素的順序
vue的匿名插槽(默認插槽)
父組件
<div> <myslot>我是剛剛</myslot> </div>
子組件
<div> <slot><slot> </div>
vue的具名插槽
父組件
<div> <myslot> <template #one>豬豬是一只大肥貓</template> <template #two>通通是一個大屁眼子</template> <template #three>咪咪是沒心沒肺的小混蛋</template> 我是剛剛 </myslot> </div>
子組件
<div> <slot name="one"></slot> <slot><slot> <slot name="two"></slot> <slot name="three"></slot> </div>
渲染出來(大致順序)即為



vue的作用域插槽
大白話解釋作用域插槽:父組件可以通過插槽讀到子組件對應插槽所帶的數(shù)據(jù)
父組件
<div>
<myslot>
<template #oneData="oneData">
<div>{{oneData.one.message}}</div>
</template>
<template #two>通通是一個大屁眼子</template>
<template #three>咪咪是沒心沒肺的小混蛋</template>
我是剛剛
</myslot>
</div>
子組件
<div>
<slot name="one" :data='one'></slot>
<slot><slot>
<slot name="two"></slot>
<slot name="three"></slot>
</div>
<script>
export default {
data() {
return {
one: {
message: '這是子組件所帶的數(shù)據(jù)message',
},
};
},
}
</script>
代碼優(yōu)化
<div>
<myslot>
<template #oneData="{oneData}">
<div>{{oneData.message}}</div>
</template>
<template #two>通通是一個大屁眼子</template>
<template #three>咪咪是沒心沒肺的小混蛋</template>
我是剛剛
</myslot>
</div>
子組件
<div>
<slot name="one" :oneData='one'></slot>
<slot><slot>
<slot name="two"></slot>
<slot name="three"></slot>
</div>
<script>
export default {
data() {
return {
one: {
message: '這是子組件所帶的數(shù)據(jù)message',
},
};
},
}
</script>
總結
到此這篇關于vue具名插槽基本使用的文章就介紹到這了,更多相關vue具名插槽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue結合axios實現(xiàn)restful風格的四種請求方式
這篇文章主要介紹了vue結合axios實現(xiàn)restful風格的四種請求方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
vue中使用router全局守衛(wèi)實現(xiàn)頁面攔截的示例
這篇文章主要介紹了vue中使用router全局守衛(wèi)實現(xiàn)頁面攔截的示例,幫助大家維護自己的項目,感興趣的朋友可以了解下2020-10-10
vue3的setup語法如何自定義v-model為公用hooks
這篇文章主要介紹了vue3的setup語法如何自定義v-model為公用hooks,文章分為兩個部分介紹,簡單介紹vue3的setup語法如何自定義v-model和如何提取v-model語法作為一個公用hooks2022-07-07

