课程章节介绍
今天我们来聊聊 lwc:spread 的一个实用特性——HTML 属性反射。
简单说,就是当你用 lwc:spread 把一堆属性传给子组件时,那些在原生 HTML 里能自动反射的属性,全都会正常生效。比如,你传一个 className 属性,在子组件的真实 DOM 元素上,它就会自动变成 class 这个 HTML 属性。同理,你传 id,它就直接变成元素上的 id 属性。这其实和普通 Web 开发里,DOM 属性跟 HTML 属性保持同步的标准行为一模一样。
那这个功能有什么用呢?你可以在父组件里动态地控制子组件的 CSS 类、ID,还有其它标准 HTML 属性,不需要在子组件里额外写逻辑。比如你根据某种状态改变 className,子组件的样式就跟着变了,非常方便。
记住一个小规则:这个反射完全跟着 HTML 规范走。也就是 className 映射到的是 class,而不是 className 或者 Class(大写 C 的不行)。所以命名时照着 JS 里的 DOM 属性名写,它就会自动对应到正确的 HTML 属性上。
用这个特性,就能很优雅地处理动态样式和原生属性了。
关键词
LWC
Lightning Web Components
Salesforce