时间:2021-05-26
本文实例讲述了vue插槽slot的简单理解与用法。分享给大家供大家参考,具体如下:
vue中插槽的使用非常广泛,本文就插槽的使用和理解简单总结。
从字面理解插槽是预先插入一个代码空间,用于后期塞入数据。
插槽分类
匿名插槽 ------------------匿名的代码空间
具名插槽 ------------------带有命名的代码空间
作用域插槽 -------------------带有数据的代码空间
插槽使用示例
匿名插槽
说明在组件中先定义预留的代码空间,组件在使用时直接写入代码
<template> <div class="child"> <h3>这里是子组件</h3> <slot></slot> </div></template>使用:
<template> <div class="father"> <h3>这里是父组件</h3> <child> <div class="tmpl"> <span>菜单1</span> <span>菜单2</span> <span>菜单3</span> <span>菜单4</span> <span>菜单5</span> <span>菜单6</span> </div> </child> </div></template>具名插槽
预先在组件中定义一个带有名称的代码空间,使用组件时用:slot绑定名称
<template> <div class="child"> // 具名插槽 <slot name="up"></slot> <h3>这里是子组件</h3> // 具名插槽 <slot name="down"></slot> // 匿名插槽 <slot></slot> </div></template>使用:
<template> <div class="father"> <h3>这里是父组件</h3> <child> //插槽up <div class="tmpl" slot="up"> <span>菜单1</span> <span>菜单2</span> <span>菜单3</span> <span>菜单4</span> <span>菜单5</span> <span>菜单6</span> </div> //插槽down <div class="tmpl" slot="down"> <span>菜单-1</span> <span>菜单-2</span> <span>菜单-3</span> <span>菜单-4</span> <span>菜单-5</span> <span>菜单-6</span> </div> //匿名插槽 <div class="tmpl"> <span>菜单->1</span> <span>菜单->2</span> <span>菜单->3</span> <span>菜单->4</span> <span>菜单->5</span> <span>菜单->6</span> </div> </child> </div></template>作用域插槽 (有数据,但放开了渲染)
在组件中预先定义一个带有数据资源的代码空间,使用组件时可以直接使用代码空间中的数据
定义
<template> <div class="child"> <h3>这里是子组件</h3> // 作用域插槽 <slot :data="data"></slot> </div></template> export default { data: function(){ return { data: ['zhangsan','lisi','wanwu','zhaoliu','tianqi','xiaoba'] } }}使用
<template> <div class="father"> <h3>这里是父组件</h3> <!--第一次使用:用flex展示数据--> <child> <template slot-scope="user"> <div class="tmpl"> <span v-for="item in user.data">{{item}}</span> </div> </template> </child> <!--第二次使用:用列表展示数据--> <child> <template slot-scope="user"> <ul> <li v-for="item in user.data">{{item}}</li> </ul> </template> </child> <!--第三次使用:直接显示数据--> <child> <template slot-scope="user"> {{user.data}} </template> </child> <!--第四次使用:不使用其提供的数据, 作用域插槽退变成匿名插槽--> <child> 我就是模板 </child> </div></template>总结:
匿名插槽和具名插槽的功能是预留插入代码的空间;
作用域插槽是提供数据资源,预留代码渲染逻辑空间。
希望本文所述对大家vue.js程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言本文将介绍vue2.0中的组件的继承与扩展,主要分享slot、mixins/extends和extend的用法。一、slot1.默认插槽和匿名插槽slot用
一直对Vue中的slot插槽比较感兴趣,下面是自己的一些简单理解,希望可以帮助大家更好的理解slot插槽下面结合一个例子,简单说明slots的工作原理dx-li
本文实例讲述了vue学习笔记之slot插槽基本用法。分享给大家供大家参考,具体如下:不使用插槽,在template中用v-html解析父组件传来的带有标签的co
本文实例讲述了Vue插槽原理与用法。分享给大家供大家参考,具体如下:1插槽内容Vue实现了一套内容分发的API,这套API基于当前的WebComponents规
首先来看下vue的slot的实现组件,具名插槽name定义以及默认插槽提供内容渲染的组件HeremightbeapagetitleAparagraphforth