请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于透传属性的一些疑问

inheritAttrs控制的是非props属性,而不是props属性,本例中自定义的type和color都是props属性,它们已经作为props属性传给了子组件Icon,在本例中, :class="{ [vk-icon--${type}]: type }“的后一个type就来自于props,它是props.type的简写。type和style作用于“i”标签与inheritAttrs无关,所以我认为v-bind=”$attrs"和inheritAttrs:false这两句完全可以删掉。

正在回答 回答被采纳积分+3

1回答

张轩 2025-06-21 21:31:16

同学你好

你的观点说的是正确的。如果父组件只传了 type 和 color(都是 props),且子组件的 <i> 标签的 :class 和 style 只用到了 props,那么 inheritAttrs: false 和 v-bind="$attrs" 可以删除,因为它们没实际作用。

但如果父组件可能传非 props 属性(比如额外的 class 或事件),保留这两句更安全,增加组件灵活性。建议检查 $attrs 是否为空:若为空,可删;若不为空,建议保留。


0 回复 有任何疑惑可以回复我~
  • 提问者 棉花_envxW3 #1
    好的,谢谢老师
    回复 有任何疑惑可以回复我~ 2025-06-24 00:15:29
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号