Vue2-Slot插槽使用
Slot插槽
- 父组件向子组件传递
- 父组件将内容分发到子组件
- slot插槽的值只读,不能在子组件中修改
- slot插槽也可以作为组件之间的通信方式
默认插槽
父组件中:使用Son组件
<template>
<Son>
<ul> //子组件如果不定义插槽 这里面的ul不起作用
<li>我</li>
<li>爱</li>
<li>你</li>
</ul>
</Son>
</template>
子组件中:
<template>
<div>
<!-- 定义插槽 -->
<slot>父组件中没有内容就显示这句话...</slot>
</div>
</template>
具名插槽
#两种方式
`注意 v-slot:简写为 # 且 具名插槽需要用 template 包裹(组件不用 template 包裹)`
父组件中:使用Son组件
<template>
<Son>
<h1 slot="demo1">迷死他<h2>
<ul slot="demo2">
<li>你</li>
<li>爱</li>
<li>我</li>
</ul>
</Son>
</template>
//第二种写法 必须要加上template标签
<template v-slot:demo2>
<ul>
<li>我</li>
<li>爱</li>
<li>你</li>
</ul>
</template>
子组件中:
<template>
<div>
<!-- 定义插槽 -->
<slot name="demo1">父组件中没有内容就显示这句话...</slot>
<slot name="demo2">父组件中没有内容就显示这句话...</slot>
</div>
</template>
作用域插槽
#数据在组件的自身,但根据数据生成的结构需要组件的使用者来决定。(son组件在father组件中使用,但是数据来源是Son组件本身,这时就需要在Son组件中用作用域插槽将数据传输给插槽的使用者)
`父组件中:`
方法一:
<Son>
<template scope="formSon">
<!-- dataSource来子组件 -->
<ul>
<li v-for="(k,index) in dataSource" :key="index">{{k}}</li>
</ul>
</template>
</Son>
方法二:
<Son>//第二种写法
<template slot-scope="formSon">
<!-- 生成的是h4标题 -->
<h4 v-for="(k,index) in dataSource" :key="index">{{k}}</h4>
</template>
</Son>
`子组件中:`
<template>
<div>
<slot :dataSource="dataSource"></slot>
</div>
</template>
<script>
export default {
//数据在子组件自身
data() {
return {
dataSource:['lht','lht1','lht2','lht3']
}
},
}
</script>
应用场景示例
template中的插槽---具名插槽
#父组件中:father.vue
#导入子组件
import Son from './son.vue'
<template>
<Son>
<template v-slot:www>
<div>......</div>
//div中可以用来取父组件的值,存放到插槽再分发给子组件
</template>
</Son>
</template>
#子组件中 son.vue 使用父组件中的插槽
<slot name="www"></slot>
//渲染后就出现父组件的结构内容
Vue2-Slot插槽使用的更多相关文章
- Vue结合slot插槽分发父组件内容实现高度复用、更加灵活的dialog组件
之前写过一篇关于vue实现dialog会话框组件的文章(http://www.cnblogs.com/fozero/p/8546883.html)[http://www.cnblogs.com/foz ...
- Vue slot插槽
插槽用于内容分发,存在于子组件之中. 插槽作用域 父级组件作用域为父级,子级组件作用域为子级,在哪定义的作用域就在哪. 子组件之间的内容是在父级作用域的,无法直接访问子组件里面的数据. 插槽元素 &l ...
- vue slot插槽的使用
slot插槽的使用场景 父组件向子组件传递dom时会用到插槽 作用域插槽:当同一个子组件想要在不同的父组件里展示不同的状态,可以使用作用域插槽.展示的状态由父组件来决定 注:想要修改父组件向子 ...
- Vue slot插槽内容分发
slot插槽使用 使用场景,一般父组件中又一大段模板内容需要运用到子组件上.或者更加复杂的,子组件需要运用到父组件大段模板内容,而子组件却不知道挂载的内容是什么.挂载点的内容是由父组件来决定的. Sl ...
- vue中的slot插槽
插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题这里就点出来了,是显示不显示和怎样显示. 1.navigation ...
- 使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件
写在前面 之前写过一篇关于vue实现dialog会话框组件的文章http://www.cnblogs.com/fozero/p/8546883.html, 讲到了如何实现一个vue对话框组件,其中涉及 ...
- slot插槽(学习笔记)
slot插槽(有默认值,也有名称)一般情况下通过名称进行匹配什么是插槽,有什么用?插槽相当于插入的一个东西,可以用来灵活的封装组件,比如说封装一个模态框对组件进行内容的定制,slot插槽,一对组件标签 ...
- Vue(14)slot插槽的使用
为什么使用slot slot(插槽) 在生活中很多地方都有插槽,电脑usb的插槽,插板当中的电源插槽 插槽的目的是为了让我们原来的设备具备更多的扩展性 比如电脑的USB我们可以插入U盘,手机,鼠标,键 ...
- vue2.0使用slot插槽分发内容
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 对爱奇艺PC Web主站来说,良好的SEO能够帮助其获得更多的搜索流量,因而页面上一些非常重要的内容仍然需要依靠服务端进行渲染,由于另外开发一套基于Node的SSR后台成本较高,而乐趣(基于java和velocity模板引擎)平台作为渲染系统已经十分成熟且运行稳定,在充分试验后,我们决定在Uniqy中使用服务端同步与客户端浏览器异步二次渲染相结合的方式,结合Vue2.0提供的 slot插槽机制,很
https://mp.weixin.qq.com/s/eB20BoqzENO_oNk8eDg4Eg 干货|爱奇艺PC Web新框架实践 原创: 前端研发团队 爱奇艺技术产品团队 昨天
随机推荐
- 【Python】Python基础知识【第一版】
变量 print("-------------输出语句-------------"); message="Hello Python world"; print( ...
- 手机上无法显示Toast信息
关于手机上无法显示Toast信息, 是因为手机上的权限没有开, 在应用管理处将所有权限都打开,就可以显示了.
- 彻底理解volatile关键字
1. volatile简介 在上一篇文章中我们深入理解了java关键字,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其中奥妙,我们来共同探讨下 ...
- Array.fill()函数的用法
ES6,Array.fill()函数的用法 ES6为Array增加了fill()函数,使用制定的元素填充数组,其实就是用默认内容初始化数组. 该函数有三个参数. arr.fill(value, s ...
- vue换算单位px自动转换rem
cnpm i postcss-px2rem --save cnpm install px2rem-loader --save 2.配置px2rem build目录下vue-loader.conf.js ...
- 理解Promise函数中的resolve和reject
看了promise的用法,一直不明白里面的resolve和reject的用法: 运行了这两段代码之后彻底理解了promise的用法: var p = new Promise(function (res ...
- 入行数字IC验证的一些建议
0x00 首先,推荐你看两本书,<"胡"说IC菜鸟工程师完美进阶>(pdf版本就行)本书介绍整个流程都有哪些岗位,充分了解IC行业的职业发展方向.<SoC设计方法 ...
- GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录
目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...
- python---替换空格
""" 请实现一个函数,将一个字符串中的每个空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are ...
- babel 的介绍及其配置
vue/cli -- babel Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其 ...