vue中插槽的用法,vue的插槽有几种方式

  vue中插槽的用法,vue的插槽有几种方式

  本文中,边肖整理了一篇关于vue中插槽整理和用法分析的文章,有兴趣的朋友可以关注一下。

  本教程的运行环境:windows7系统,VUE版本vue2.9.6,DELL G3电脑。

  vue的插槽主要有三种类型:

  默认插槽,具名插槽,作用域插槽

  vue中的槽指的是子组件为父组件提供的占位符;

  用标签表示,父组件可以填充这个占位符中的任何模板代码,比如HTML、组件等。填充的内容将替换子组件的标签(替换占位符)。

  默认插槽

  默认槽是最简单的一种槽,和上面的描述一致。这是通过替换占位符来改变父组件中子组件中的内容的效果。

  语法:

  在子组件中放置一个占位符(槽):

  模板

  跨度

  马赛丽减肥/span

  插槽/插槽

  /span

  /模板

  脚本

  导出默认值{

  名称:“chassList”

  }

  /脚本

  然后在父组件中引用这个子组件,并用内容填充这个槽:

  模板

  差异

  Span今天吃什么:/span

  chassList

  嫂子不让萨沙吃/span

  /chassList

  /div

  /模板

  此时页面显示的内容会是【今天吃饭:莎莎减肥,嫂子不让莎莎吃饭】。

  具名插槽

  例如,在子组件中有两个位置(两个槽)需要替换占位符。此时,如果父组件要将相应的内容填充到相应的槽中,则没有办法判断默认槽应该将相应的内容填充到哪个槽中。为了应对这样的场景,命名槽应运而生。

  命名槽实际上是给子组件中的槽取的一个名字,父组件可以根据这个名字入座,引用子组件时将相应的内容填充到相应的槽中。

  语法:

  在子部件中放置两个命名的插槽:

  模板

  差异

  Span第一个插槽/span

  slot name=one/slot

  Span第二个插槽/span

  插槽名称=two/slot

  /div

  /模板

  脚本

  导出默认值{

  名称:“chassList”

  }

  /脚本

  引用父组件中的子组件,通过v-slot将相应的内容填入相应的slot:[name]:

  模板

  差异

  跨越两个插槽:/span

  chassList

  模板v形槽:一个

  spanone,/span

  /模板

  模板v形槽:两个

  spantwo/span

  /模板

  /chassList

  /div

  /模板

  此时页面显示的内容会是【两个槽位:第一个槽位一,第二个槽位二】。

  使用默认插槽和具名插槽的注意事项

  1.如果子组件中有多个默认槽,则分配给父组件中默认槽的所有填充内容(未指定命名槽)将被填充到子组件中的每个默认槽中。

  2.即使命名槽的填充顺序在父组件中是无序的,只要命名槽的名称对应,填充的内容也能正确渲染到对应的命名槽中,一个萝卜一个坑。

  3.如果默认槽和命名槽都存在于子组件中,但是在父组件中指定的命名槽在子组件中找不到,则内容将被直接丢弃,而不是填充到默认槽中。

  作用域插槽

  与之前的默认槽和命名槽相比,作用域槽更难理解和使用。

  前两个槽强调填充占位符的【位置】;

  Scope slot强调数据的[作用域];

  作用域槽是带参数(数据)的槽;

  带入子组件的槽中的参数(数据)被提供给父组件使用。该参数(数据)只在槽中有效,父组件可以根据子组件传来的槽参数(数据)定制展示内容。

  语法:

  将带有参数(数据)的槽放置在子组件中:

  模板

  差异

  span槽中的参数值是/span

  slot :isAllwo=isAllwo/slot

  /div

  /模板

  脚本

  导出默认值{

  名称:“类别列表”,

  data() {

  返回{

  伊莎尔沃:{

  一:“一”,

  二:“二”

  }

  }

  }

  }

  /脚本

  在父组件中引用子组件,从子组件的插槽中接受参数,并通过插槽范围使用数据。

  模板

  差异

  Span作用域插槽:/span

  优等生名单

  模板插槽-作用域=isAllwo

  {{ isAllwo.isAllwo.one}}

  /模板

  /classList

  /div

  /模板

  此时,页面上显示的内容将是[Scope slot:slot中的参数值为1]。

  因为模板的{{}}支持表达式,此时可以通过使用子组件传递的不同参数值来定制页面内容。

  模板

  差异

  Span作用域插槽:/span

  优等生名单

  模板插槽-作用域=isAllwo

  { { isallwo . isallwo . one null } }

  /模板

  /classList

  /div

  /模板

  此时,如果子组件传递的参数为null,则页面的显示内容将为[Scope slot:slot中的参数值为null]。

  作用域插槽在各种场景中使用,并且广泛用于各种框架中。例如,在ElementUI中定制表格的行或列的显示内容就是作用域槽的典型应用场景。

  这就是这篇关于vue中插槽排列和使用分析的文章。有关vue中几个插槽的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

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

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