时间:2021-05-26
vue 中的 $slot
以前一直不知到这个东西,后来发现 vue api 中 藏着很多的 很神奇的 api,比如这个
具名插槽很好理解,但是那个 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 之后的输出
可以看到 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 获取插槽的节点实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了vue插槽slot的简单理解与用法。分享给大家供大家参考,具体如下:vue中插槽的使用非常广泛,本文就插槽的使用和理解简单总结。从字面理解插槽是预
前言本文将介绍vue2.0中的组件的继承与扩展,主要分享slot、mixins/extends和extend的用法。一、slot1.默认插槽和匿名插槽slot用
1、slot作用/概念:预先将将来要使用的内容进行保留;2、具名插槽:给slot起个名字3、slot、slot-scope已经被废弃推荐使用vue2.6.0中的
首先来看下vue的slot的实现组件,具名插槽name定义以及默认插槽提供内容渲染的组件HeremightbeapagetitleAparagraphforth
一直对Vue中的slot插槽比较感兴趣,下面是自己的一些简单理解,希望可以帮助大家更好的理解slot插槽下面结合一个例子,简单说明slots的工作原理dx-li