首页 > 编程知识 正文

作用域插槽v-slot,vue中插槽有什么用处

时间:2023-05-05 08:17:16 阅读:109014 作者:2706

插槽是什么?官方解释槽是Vue实现的用于内容传送的API的集合,将要素作为用于承载传送内容的出口。

通俗解释插槽是子组件中父组件可以使用的占位符,用表示。 父组件可以在此占位符中输入HTML、组件等模板代码,然后输入的内容将替换子组件的标签。 简单来说,“孔”会保留在子组件中,父组件可以使用指定的内容填充“孔”。

基本用法现在有两个组件。 a和b分别是:

A.vue

template div p我在a组件/p/div/templatescriptexportdefault { name : ' a ',data ({ return }/scriptb.vue )中

template div p我将b组件/p/div/templatescriptexportdefault { name : ' b ',data (} { return { } )/script将b组件转换为a

template div p我是a组件/PBB//div/templatescriptimportbfrom './b.vue '/b组件export default { name:'A ',com

template div p我使用b组件/p slot/slot //插槽/div/templatescriptexportdefault { name : ' b ',data ({ return } )

template div p我用a组件/p B验证插槽是否有效。 //b用组件标签包装内容,然后单击slot/b/div/templatescriptimportbfrom './b.vue ' export default { name 3360 } components :

版本2.6.0在命名插槽和范围插槽中引入了新的统一语法,即v-slot命令。 它将取代当前已丢弃但尚未删除并保留在文档中的属性: slot和slot-scope。 新语法的由来请参照这个RFC。

可能需要多个插槽。 例如,对于具有以下模板的组件:

div class='container' header! -我想把页首放在这里-- /header main! -我们想把主要内容放在这里-- /main footer! -- /footer/div希望在将内容提供给命名插槽时,对单个元素使用v-slot命令,并将名称作为v-slot参数提供。

base-layouttemplatev-slot : header h1 heremightbeapagetitle/h1/templatepaparagraphforthemaincontent./ppandanotheronnt ptemplatev-slot 3360 footerphere ' ssomecontactinfo/p/template/base-layout只能将v-slot添加到(只有一个例外。 ) )。

命名插槽的缩写与v-on和v-bind相同,v-slot也有缩写。 也就是说,用字符#替换参数前面的所有内容(v-slot: )。 例如,v-slot :头将被重写为#头。

base-layout template # header h1 heremightbeapagetitle/h1/templatepaparagraphforthemaincontent./ppandanotherone./pteme ppandanotherone.footerphere ' ssomecontactinfo/p/template/base-layout记录了简单的语法,详见官方api官方链接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。