vue实现属性透传 v-bind="$attrs"
发布网友
发布时间:2022-11-26 01:52
我来回答
共1个回答
热心网友
时间:2023-01-23 17:12
1.官方定义
包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
我们可以简单理解为调用一个组件的时候传入属性 (class 和 style 除外),而且不在该组件内部的 props 中声明,就可以使用 v-bind="attrs"传入属性
2.应用场景
很多时候,我们需要对UI组件进行二次封装,这里以element ui为例,比如我们要封装一个date组件,在大多数场景下,我们需要设置属性placeholder、clearable等等