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几个验证函数代码
Mar 25 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
Aug 07 Javascript
用于deeplink的js方法(判断手机是否安装app)
Apr 02 Javascript
jquery对dom节点的操作【推荐】
Apr 15 Javascript
jQuery的文档处理程序详解
May 10 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
javascript动画系列之模拟滚动条
Dec 13 Javascript
微信小程序分享海报生成的实现方法
Dec 10 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
Apr 15 Javascript
用webpack4开发小程序的实现方法
Jun 04 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
JS实现分页导航效果
2020/02/19 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
德国网上药房:Apotal
2017/04/04 全球购物
应届中专生自荐书范文
2014/02/13 职场文书
购房意向书范本
2014/04/01 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
股权转让协议范本
2014/12/07 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
java中重写父类方法加不加@Override详解
2021/06/21 Java/Android
最新最全的手机号验证正则表达式
2022/02/24 Javascript
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA