Vue3 属性透传 $attrs 与 插槽透传 $slots

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue3 属性透传 $attrs 与 插槽透传 $slots相关的知识,希望对你有一定的参考价值。

参考技术A vue $slots 传送门

vue $attrs 传送门

$attrs 一个包含了组件所有透传 attribute 的对象(不包含已定义的 props )。

透传 Attribute 是一些由父组件传入的 attribute 和 事件处理器 ,且没有在此子组件中声明为一个 prop 或 要抛出的事件 。

默认情况下,若是单一根节点组件, $attrs 中的所有 property 都是直接自动继承自组件的根元素。而多根节点组件则不会如此,同时你也可以通过配置 inheritAttrs 选项来显式地关闭该行为。

$slots 一个表示父组件所传入 插槽 的对象。

通常用于手写 渲染函数 ,但也可用于检测是否存在插槽。

每一个插槽都在 this.$slots 上暴露为一个函数,返回一个 vnode 数组,同时 key 名对应着插槽名。默认插槽暴露为 this.$slots.default 。

如果插槽是一个 作用域插槽 ,传递给该插槽函数的参数可以作为插槽的 prop 提供给插槽。

以上是关于Vue3 属性透传 $attrs 与 插槽透传 $slots的主要内容,如果未能解决你的问题,请参考以下文章

vue 3.0组件(下)

vue实现属性透传 v-bind="$attrs"

4G工业路由器的透传好处与安全因素

HMS Cordova推送插件后台透传消息处理逻辑与流程

wifi网络电话显示透传自定义错误码是啥意思

【tcp/ip】关于ip透传