浅谈Vue.js组件(二)

插槽(Slot)

定义一个名child子组件,为该子组件添加内容应该在子组件的template中定义,直接在父组件的标签中定义的内容不会被渲染。

在子组件中通过加入元素占位,便能够渲染父组件中子组件标签中的内容了。

插槽内容

  1. 任何模版代码
  2. HTML代码
  3. 其他组件

插槽可以有默认内容,当在父组件中没有提供内容的时候,来进行显示。





1.

⬇️ 


2.

 Save

⬇️

作用域

父级模板里的所有内容都是在父级作用域中编译的;子模板里的所有内容都是在子作用域中编译的。

具名插槽

试想,我们有一个带有如下模版的组件

可以看到,在组件中显示的内容是划分不同的部位的,这个时候就需要使用到元素的一个特有的属性:name来实现了。这个特性可以用来定义额外的插槽。

 一个不带 name 的 出口会带有隐含的名字“default”。

在向具名插槽提供内容的时候,我们可以在一个