vue slot插槽使用场景,

  vue slot插槽使用场景,

  本文主要介绍Vue.js槽的作用域槽用法的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。

  

目录

  无插槽,Vue2.x插槽有插槽,命名插槽无插槽属性,简单示例应用范围插槽(2.1.0中新增),Vue3.x插槽,插槽范围插槽

  

没有插槽的情况

  div id=应用程序

  儿童

  span1111/span

  /孩子

  /div

  脚本

  //注册子组件

  Vue.component(child ,{

  模板:“div这是一个div标记/div”

  });

  //初始化父组件

  新Vue({

  埃尔: #app

  });

  /脚本

  模板中的span标记将被替换为“div,这是一个div标记/div ”,如下所示:

  

Vue2.x 插槽

  

有插槽的情况

  简单地说,通过使用slot标签,您可以将span1111/span放置在您希望它显示的子组件中。如下图:

  div id=应用程序

  儿童

  span1111/span

  /孩子

  /div

  脚本

  //注册子组件

  Vue.component(child ,{

  模板:“div这是slot/slot,一个div标记/div”

  });

  //初始化父组件

  新Vue({

  埃尔: #app

  });

  /脚本

  即使有多个标签,也会一起插入,相当于用父组件放置在子组件中的标签替换slot/slot标签。如下图:

  div id=应用程序

  儿童

  span1111/span

  i2222/i

  b3333/b

  /孩子

  /div

  脚本

  //注册子组件

  Vue.component(child ,{

  模板:“div这是slot/slot,一个div标记/div”

  });

  //初始化父组件

  新Vue({

  埃尔: #app

  });

  /脚本

  

具名插槽

  父组件将slot=xxx 属性添加到要分发的标签中。

  将name=xxx 属性添加到相应分发位置的子组件的插槽标签中。

  那么相应的标签将被放置在相应的位置。如下图:

  div id=应用程序

  儿童

  span slot=one1111/span

  i slot=two2222/i

  b插槽=三个 3333/b

  /孩子

  /div

  脚本

  //注册子组件

  Vue.component(child ,{

  模板:` div

  这是

  slot name=one/slot

  一个

  插槽名称=two/slot

  差异

  插槽名称=三/插槽

  标签

  /div ` 1

  });

  //初始化父组件

  新Vue({

  埃尔: #app

  });

  /脚本

  

没有slot属性

  如果子组件标签中没有插槽属性,则为显示默认的值

  div id=应用程序

  儿童

  !- span slot=one1111/span -

  i slot=two2222/i

  !- b slot=三 3333/b -

  /孩子

  /div

  脚本

  //注册子组件

  Vue.component(child ,{

  模板:` div

  插槽名称=one 无人/插槽

  slot name=twono two/slot

  插槽名称=三不三/插槽

  /div ` 1

  });

  //初始化父组件

  新Vue({

  埃尔: #app

  });

  /脚本

  Slot=two 被插入固定位置,如下所示:

  

插槽简单实例应用

  想想你电脑主板上的各种插槽,包括有CPU,显卡,内存,硬盘的,那么假设一个组件是电脑,它的模板是模板,如下:

  身体

  div id=应用程序

  计算机

  分区插槽=CPU 英特尔酷睿i7/分区

  div slot=GPUGTX980Ti/div

  div slot= Memory Kingston 32G/div

  div slot=硬盘三星固态硬盘1T/div

  /计算机

  /div

  脚本

  //注册子组件

  Vue.component(计算机,{

  模板:` div

  插槽名称=CPU 在此处插入您的CPU/插槽

  Slot name=GPU 在此插入您的图形卡/插槽。

  Slot name=Memory 在此插入您的内存/插槽。

  Slot name=Hard-drive 在此插入您的硬盘/插槽。

  /div ` 1

  });

  //初始化父组件

  新Vue({

  埃尔: #app

  });

  /脚本

  /body

  

作用域插槽 ( 2.1.0 新增 )

  Scope slot是一种特殊类型的slot,它被用作可重用的模板(可用于传输数据)来替换渲染元素。

  在子组件中,只需将数据传递给插槽,就像将prop传递给组件一样。

  在父组件中,以slot-scope=scoped 的形式获取子组件传递的数据。此数据对象的别名有作用域。这是作用域插槽的模板。

  div id=应用程序

  儿童

  !-2.接收myName数据,作用域为{myName: cat boss的bean}-

  模板slot=“内容”slot-scope=“范围”

  div{{ scoped.myName }}/div

  /模板

  /孩子

  /div

  脚本

  Vue.component(child ,{

  data () {

  返回{

  我的名字:“猫老板的豆子”

  }

  },

  模板:` slot name= content :my name= my name /slot `/1。向外抛出myname数据。

  })

  新Vue({

  埃尔: #app

  });

  /脚本

  

Vue3.x 插槽

  

插槽

  !-父组件-

  模板

  儿童

  !- Vue2.x写作

  div slot=parent

  父分区组件/分区

  /div

  -

  模板v形槽:父

  父分区组件/分区

  /模板

  /孩子

  /模板

  !-子组件-

  模板

  插槽名称=父子组件/插槽

  /模板

  

作用域插槽

  在Vue2.x中,命名slot和作用域slot分别由slot和slot-scope实现,在vue3.x中slot和slot-scope合并使用。

  父组件:

  模板

  儿童

  !-template slot= content slot-scope= scoped -

  模板v-slot:content=“scoped”

  div{{scoped.myName}}/div

  /模板

  /孩子

  /模板

  子组件:

  模板

  slot name= content :my name= my name /slot

  /模板

  脚本

  从“vue”导入{ ref }

  导出默认值{

  setup () {

  Let myName=ref(猫老板的豆子)

  返回{我的名字}

  },

  }

  /脚本

  关于Vue.js slot的作用域slot用法的详细说明本文到此为止。关于Vue.js槽的scope槽的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

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

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