课程章节介绍
咱们今天聊一聊Lightning Web Components里属性命名的规矩。这个很重要哦,因为一旦不小心用了不该用的名字,组件就容易出些奇怪的冲突,调起错来还挺头疼的。你不用紧张,听懂这几条原则,以后起名就不容易踩坑了。
首先呢,LWC的JavaScript属性,咱们代码里写的,都得用驼峰式命名,就是首字母小写,后面每个单词首字母大写,比如 `itemName`。但是到了HTML模板里,对应的属性就得变成短横线连接的方式,叫kebab-case,写出来就是 `item-name`。框架会自动帮我们把这两种写法互相转换,所以两边保持一致就行,只是形式不同。
好,接下来是真正的禁区——有些开头是不能用的。如果你的属性名以“on”开头,比如 `onChange`,这会和标准的HTML事件处理程序冲突,因为所有事件处理器都是 `onclick`、`onchange` 这样的,所以框架禁止你这么用。同样的,以“aria”开头也不行,像 `ariaLabel`,因为 `aria-` 是留给无障碍属性的。还有以“data”开头也不行,比如 `dataId`,因为在HTML里自定义数据属性都用 `data-` 开头。用了这些开头,很可能框架就分不清这是你的属性还是系统属性了。
另外还有三个单词是完全保留的,绝对不能当属性名。第一个是“slot”,因为 `` 专门用来做内容投影的;第二个是“part”,这个是配合CSS,阴影部件,样式的;第三个是“is”,它跟元素类型检查有关系。如果你用这些单词作属性名,就会和DOM内部的API或概念撞车,导致不可预期的行为。
你只要记住这几条:写驼峰对应短横线,避开 on、aria、data 开头,再躲开 slot、part 和 is,你的属性命名就很安全啦。这样咱们的组件就能顺利和标准Web兼容,运行起来稳稳当当。
关键词
LWC
Lightning Web Components
Salesforce