vue中的 $slot 获取插槽的节点实例


Posted in Javascript onNovember 12, 2019

vue 中的 $slot

以前一直不知到这个东西,后来发现 vue api 中 藏着很多的 很神奇的 api,比如这个

vue中的 $slot 获取插槽的节点实例

具名插槽很好理解,但是那个 default 就有点难了,

写了一个炒鸡简单的 demo

father:

<template>
<div>
<button @click="getSlot">getSlot</button>
<try ref="try">
<div class="hello1">hello1</div>
<div class="hello2">hello2</div>
<div class="hello3">hello3</div>
</try>
<button @click="getArc">getArc</button>
</div>
</template>
<script>
import try from './try'
export default {
components: {
try
},
methods: {
getSlot () {
this.$refs.try.getSlot()
}
}
}
</script>

try.vue

<template>
<div>
<h2>我是子组件 的 标题</h2>
<slot>
只有在没有内容分发的时候我才会出现
</slot>
</div>
</template>
<script>
export default {
methods: {
getSlot () {
console.log(this.$slots)
}
}
}
</script>

点击了getSlot 之后的输出

vue中的 $slot 获取插槽的节点实例

可以看到 default ,

里面有插入的 三个 标签和 三个标签之间的 两个 空格,就有 5 个 了

通过这个就能很轻易的 拿到 父组件 通过插槽插入 子组件的 标签了

this.slotChildren = []
for (let i = 0; i< this.$slots.default.length; i++) {
if (that.$slots.default[i].elm.nodeType !== 3) {
that.slotChildren.push(that.$slots.default[i]) // 获得 那些 插入的 按钮
}
}

以上这篇vue中的 $slot 获取插槽的节点实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
JavaScript建立一个语法高亮输入框实现思路
Feb 26 Javascript
angularjs基础教程
Dec 25 Javascript
jQuery中filter()方法用法实例
Jan 06 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
Jan 05 Javascript
微信小程序 wxapp画布 canvas详细介绍
Oct 31 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
基于daterangepicker日历插件使用参数注意的问题
Aug 10 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 Javascript
bootstrap table实现合并单元格效果
Dec 24 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
解决vue v-for src 图片路径问题 404
Nov 12 #Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
Nov 12 #Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
Nov 12 #Javascript
解决Vue在Tomcat8下部署页面不加载的问题
Nov 12 #Javascript
JS如何实现动态添加的元素绑定事件
Nov 12 #Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 #Javascript
微信小程序点击顶部导航栏切换样式代码实例
Nov 12 #Javascript
You might like
php中几种常见安全设置详解
2010/04/06 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
js实现动态创建的元素绑定事件
2016/07/19 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
Python实现的ini文件操作类分享
2014/11/20 Python
Django 路由控制的实现代码
2018/11/08 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
如何通过Python实现标签云算法
2019/07/02 Python
python使用配置文件过程详解
2019/12/28 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
Python能做什么
2020/06/02 Python
Python 图片处理库exifread详解
2021/02/25 Python
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
小学生作文评语集锦
2014/12/25 职场文书
限期整改通知书
2015/04/22 职场文书
音乐会主持人开场白
2015/05/28 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
python和anaconda的区别
2022/05/06 Python