一个非 prop 的 attribute 是指传向一个组件,但是该组件并没有相应 props 或 emits 定义的 attribute。常见的示例包括 class、style 和 id 属性。
1.Attribute 继承
当组件返回单个根节点时,非 prop attribute 将自动添加到根节点的 attribute 中
如下例,父组件data-status就会自动添加到子组件的单个根节点的attribute中
当然,如果子组件将dataStatus加入props,就不会出现在根节点的attribute中了
<!-- 具有非prop attribute的Date-picker组件-->
<date-picker data-status="activated"></date-picker><!-- 渲染 date-picker 组件 -->
<div class="date-picker" data-status="activated">
<input type="datetime-local" />
</div>
同样的规则也适用于事件监听器
如下例,子组件的input修改,会触发父组件的showChange,相当于直接@input放到了Input上。
&

本文探讨Vue组件中的非 Prop Attribute,详细解释了Attribute继承的机制,即当组件有一个根节点时,非 prop 的 attribute 会被自动添加到根节点。同时,文章还介绍了如何禁用这种继承行为,通过设置`inheritAttrs: false`,并利用`$attrs`将属性应用到特定节点。对于拥有多个根节点的组件,没有默认的 attribute 贯穿行为。
最低0.47元/天 解锁文章
365

被折叠的 条评论
为什么被折叠?



