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 相关文章推荐
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
不要在cookie中使用特殊字符的原因分析
Jul 13 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
Sep 05 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
PHP 实现一种多文件上传的方法
Sep 20 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 Javascript
讲解vue-router之什么是动态路由
May 28 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
js键盘事件实现人物的行走
Jan 17 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
php 文件状态缓存带来的问题
2008/12/14 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
接收键盘指令的脚本
2006/06/26 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python开发之thread线程基础实例入门
2015/11/11 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
电子技术专业中专生的自我评价
2013/12/17 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书
大学生安全责任书
2014/07/25 职场文书
终止劳动合同协议书
2014/10/05 职场文书
先进基层党组织材料
2014/12/25 职场文书
党员自我评价2015
2015/03/03 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
java实现对Hadoop的操作
2021/07/01 Java/Android