Vue躬行记(6)——内容分发

  Vue提供了一种内容分发技术,可将父组件中的内容传递给子组件的模板,实现方式参照了Web组件规范草案。

一、插槽

  Vue内置了一个元素,能作为插槽(slot)存在,而插槽内可包含文本、HTML片段、组件等。以下面的btn组件为例,其模板中包含一个元素,在DOM中为btn组件添加了文本内容。

<btn>提交btn>
<script>
  Vue.component("btn", {
    template: ''
  });
script>

  渲染出的' });

二、具名插槽

  具名插槽是指包含名称的插槽,即指定了name特性的元素。当组件的模板中需要多个插槽时,就得通过名称来加以区分。例如有一个page组件,包含三个元素,其中有两个声明了name特性,如下所示。

Vue.component("page", {
  template: `
` });

  如果要向具名插槽传递内容,那么可以在