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_05_原型继承原理
Oct 13 Javascript
JS获取iframe中longdesc属性的方法
Apr 01 Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
JavaScript 身份证号有效验证详解及实例代码
Oct 20 Javascript
快速解决js中window.location.href不工作的问题
Nov 02 Javascript
js实现密码强度检验
Jan 15 Javascript
js实现倒计时效果(小于10补零)
Mar 08 Javascript
每周一练 之 数据结构与算法(Stack)
Apr 16 Javascript
elementUI Tree 树形控件的官方使用文档
Apr 25 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
详解node和ES6的模块导出与导入
Feb 19 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数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
第七章 php自定义函数实现代码
2011/12/30 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
请离开include_once和require_once
2013/07/18 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
Javascript typeof 用法
2008/12/28 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
关于毕业的广播稿
2014/01/10 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
运动会加油稿30字
2015/07/21 职场文书