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 相关文章推荐
JavaScript去掉空格的方法集合
Dec 28 Javascript
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
javascript日期转换 时间戳转日期格式
Nov 05 Javascript
jQuery ajax MD5实现用户注册即时验证功能
Oct 11 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
Angular.JS去掉访问路径URL中的#号详解
Mar 30 Javascript
详解webpack打包vue时提取css
May 26 Javascript
解决Vue打包之后文件路径出错的问题
Mar 06 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
Jun 13 Javascript
vue实现图片按比例缩放问题操作
Aug 11 Javascript
js实现数字跳动到指定数字
Aug 25 Javascript
JavaScript实现前端倒计时效果
Feb 09 Javascript
解决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
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
Javascript注入技巧
2007/06/22 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
Python 除法小技巧
2008/09/06 Python
python中bisect模块用法实例
2014/09/25 Python
Python模拟登录12306的方法
2014/12/30 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
python实现PCA降维的示例详解
2020/02/24 Python
django orm模块中的 is_delete用法
2020/05/20 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
同学聚会老师邀请函
2014/01/28 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android