vue插槽详解,vue插槽用法

  vue插槽详解,vue插槽用法

  本文主要分享vue3的插槽使用总结。在2.6.0中,Vue为命名插槽和作用于插槽引入了新的统一语法:v-slot。它取代了新版本中插槽和插槽范围的应用。我们来看看文章的细节。

  

目录

  一、v型槽介绍

  第二,匿名槽

  三。命名插槽

  四。范围插槽

  动词(verb的缩写)动态插槽名称

  

一、v-slot 介绍

  V-slot只能在模板或组件上使用,否则将会报告错误。

  v槽也是指令之一。

  使用示例:

  //父组件代码

  儿童通讯

  模板v槽:名称槽

  槽内容

  /模板

  /child-com

  //组件模板

  插槽名称=名称插槽/插槽

  v-slot的语法简化了slot和slot-scope slot的功能,功能更强大,代码效率更高。

  

二、匿名插槽

  当组件中只有一个slot时,可以不设置slot的name属性,v-slot后也可以没有参数,但是v-slot在没有设置name属性的slot开口处也会有一个隐含的“默认”。

  匿名插槽使用:

  //组件调用

  儿童通讯

  模板v形槽

  槽内容

  /模板

  /child-com

  //组件模板

  插槽/插槽

  虽然v槽没有设置参数,但是不能删除,否则槽的内容无法正常渲染。

  

三、具名插槽

  当一个组件中有多个插槽时,如果没有设置v-slot属性的值,该元素将被插入到插槽组件中,默认情况下不设置name属性的值。为了将相应的元素放在指定的位置,需要使用v-slot和name属性来对应内容。

  具名插槽使用:

  //父组件

  儿童通讯

  模板v形槽:标题

  头

  /模板

  模板v形槽:主体

  内容

  /模板

  模板v形槽:页脚

  脚

  /模板

  /child-com

  //子组件

  差异

  插槽名称=header/slot

  插槽名称=body/slot

  插槽名称=页脚/插槽

  /div

  具名插槽缩写:

  V-slot和v-bind、v-on指令一样,也有缩写。您可以将v-slot:缩写为#。

  比如上面的v-slot:footer可以缩写成#footer。

  上述的父组件代码可以简化为:

  儿童通讯

  模板#标题

  头

  /模板

  模板#主体

  内容

  /模板

  模板#页脚

  脚

  /模板

  /child-com

  注意:和其他指令一样,只有在有参数的情况下才能缩写,否则无效。

  

四、作用域插槽

  有时,让插槽的内容只对子组件中的数据可用是很有用的。当一个组件被用来呈现一个项目数组时,这是一种常见的情况。我们希望能够自定义每个项目是如何呈现的。

  要使子组件上的属性在slot内容上可用,您需要将属性绑定到slot。然后在v槽接收并定义所提供槽的道具名。

  使用示例:

  //

  儿童通讯

  模板v-slot:header=slotProps

  插槽内容-{{slotprops.item}}序列号-{{slotprops.index}}

  /模板

  /child-com

  //子组件代码

  模板

  div v-for=(item,index) in arr :key=index

  slot:item= item name= header :index= index /slot

  /div

  /模板

  脚本设置

  const arr=[1111 , 2222 , 3333]

  /脚本

  

五、动态插槽名

  v-slot指令参数也可以是动态的,用于定义动态槽名。

  如:

  儿童通讯

  模板垂直插槽:[dd()]

  动态插槽名称

  /模板

  /child-com

  脚本设置

  常量dd=()={

  返回“hre”

  }

  这里用函数,也可以直接用变量。

  关于Vue3插槽使用情况总结的这篇文章到此为止。有关Vue3插槽使用的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: