Vue 组件3 作用域插槽
2017-08-21 14:37
621 查看
作用域插槽是一种特殊类型的插槽,用作使用一个(能够传递数据到)可重用模板替换已渲染元素。
在子组件中,只需将数据传递到插槽,就像你将props传递给组件一样:
<div class="child">
<slot text="hello from child"></slot>
</div>
在父级中,具有特殊属性scope的<template>元素必须存在,表示它是作用域插槽的模板。scope的值对应一个临时变量名,此变量接收从子组件中传递的props对象。
<div class="parent">
<child>
<template scope="props">
<span>hello from parent</span>
<span>{{ props.text }}</span>
</template>
</child>
</div>
如果我们渲染以上结果,得到的输出会是:
<div class="parent">
<div class="child">
<span>hello from parent</span>
<span>hello from child</span>
</div>
</div>
作用域插槽更具代表性的用例是列表组件,允许组件自定义应该如何渲染列表每一项:
<my-awesome-list :items="items">
<!-- 作用域插槽也可以是具名的 -->
<template slot="item" scope="props">
<li class="my-fancy-item">{{ props.text }}</li>
</template>
</my-awesome-list>
列表组件的模板:
<ul>
<slot name="item"
v-for="item in items"
:text="item.text">
<!-- 这里写入备用内容 -->
</slot>
</ul>
在子组件中,只需将数据传递到插槽,就像你将props传递给组件一样:
<div class="child">
<slot text="hello from child"></slot>
</div>
在父级中,具有特殊属性scope的<template>元素必须存在,表示它是作用域插槽的模板。scope的值对应一个临时变量名,此变量接收从子组件中传递的props对象。
<div class="parent">
<child>
<template scope="props">
<span>hello from parent</span>
<span>{{ props.text }}</span>
</template>
</child>
</div>
如果我们渲染以上结果,得到的输出会是:
<div class="parent">
<div class="child">
<span>hello from parent</span>
<span>hello from child</span>
</div>
</div>
作用域插槽更具代表性的用例是列表组件,允许组件自定义应该如何渲染列表每一项:
<my-awesome-list :items="items">
<!-- 作用域插槽也可以是具名的 -->
<template slot="item" scope="props">
<li class="my-fancy-item">{{ props.text }}</li>
</template>
</my-awesome-list>
列表组件的模板:
<ul>
<slot name="item"
v-for="item in items"
:text="item.text">
<!-- 这里写入备用内容 -->
</slot>
</ul>
相关文章推荐
- Vue 作用域插槽 列表组件 示例
- 使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件
- Vue.js的组件分发 之 作用域槽
- vue作用域插槽例子
- 使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
- 关于vue.js中作用域插槽的实例
- vue组件中$emit()的作用
- Vue------第五天(关于组件的一些基础了解,包括组件的注册、Prop、自定义事件、使用插槽分发内容等)
- vue中的作用域插槽--理解(slot-scope)
- Vue组件-使用插槽分发内容
- Vue 作用域插槽
- vue组件中冒号的作用
- vue动态组件和slot插槽
- Vue作用域插槽slot-scope实例代码
- React(12)组合(类似 Vue 组件的插槽)和继承
- vue组件name的作用小结
- 10vue组件入门_如何写一个最简单的vue组件_vue组件的作用是啥
- Vue 组件和插槽的理解与使用
- vue组件-template 和slot插槽
- vue组件插槽