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 相关文章推荐
JS实现两个大数(整数)相乘
Apr 28 Javascript
基于javascript的COOkie的操作实现只能点一次
Dec 26 Javascript
jQuery圆形统计图开发实例
Jan 04 Javascript
JavaScript中Date.toSource()方法的使用教程
Jun 12 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 Javascript
three.js实现3D影院的原理的代码分析
Dec 18 Javascript
vue中实现methods一个方法调用另外一个方法
Feb 08 Javascript
vue中的适配px2rem示例代码
Nov 19 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 Javascript
Vue form表单动态添加组件实战案例
Sep 02 Javascript
关于vue中如何监听数组变化
Apr 28 Vue.js
解决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中实现简单的ACL 完结篇
2011/09/07 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
理解JavaScript中的事件
2006/09/23 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
50个比较实用jQuery代码段
2011/09/18 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
下载官网python并安装的步骤详解
2019/10/12 Python
浅析使用Python搭建http服务器
2019/10/27 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
What is view? why do we have view?
2012/06/22 面试题
公司离职证明样本
2014/09/13 职场文书
场地使用证明模板
2014/10/25 职场文书
民政工作个人总结
2015/02/28 职场文书
python多线程方法详解
2022/01/18 Python