vue插槽slot的简单理解与用法实例分析
2020-03-15 12:09
701 查看
本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- vue学习笔记之slot插槽基本用法实例分析
- Python生成器定义与简单用法实例分析
- java Swing组件setBounds()简单用法实例分析
- PHP5.5新特性之yield理解与用法实例分析
- vue slot插槽理解
- 简单的2个实例,助你理解Qt的自定义Signal & Slot机制
- vue使用插槽分发内容slot的用法
- vue 2.6 插槽v-slot用法记录
- Vue框架-基础知识(vue指令、实例生命周期、计算属性与监听属性、插槽理解、组件介绍、数据交互、ES6语法等)
- 详解vue使用插槽分发内容slot的用法
- vue---slot,slot-scoped,以及2.6版本之后插槽的用法
- Vue作用域插槽slot-scope实例代码
- Android TabLayout(选项卡布局)简单用法实例分析
- 理解Vue 2.0 的ref属性及简单用法
- vue学习笔记之作用域插槽实例分析
- vue学习之Vue-Router用法实例分析
- Android TabLayout(选项卡布局)简单用法实例分析
- vue插槽的理解和用法
- Vuex之理解Mutations的用法实例
- Python装饰器原理与简单用法实例分析