课程章节介绍
同学们,我们来看组合这个概念。组合是Lightning Web Components最基本的一种设计模式,它的思路就是把一些简单的小组件拼在一起,像搭积木一样,逐步搭出复杂的界面。你可以在一个组件的标记里面,直接放进去另一个组件。
虽然技术上来说,LWC是支持继承的,但Salesforce非常强烈地建议大家使用组合。组合通常效率更高,也避免了继承带来的一堆限制。特别是,在Lightning命名空间下面,那些标准组件你是不能用继承来扩展的。如果你真的想在不同的命名空间之间玩继承,就必须先开启Lightning Web Security,也就是LWS。而且就算开了LWS,你也永远没法去扩展Lightning命名空间。那如果要在组件之间共享逻辑怎么办呢?最好把共享的代码抽出来,放到一个独立的JavaScript模块里,然后导入到各个组件里用,而不是用继承。
那么,在实际做组合的时候,模板所有者,也就是我们常说的父组件,会把子组件嵌套在自己的容器里。父组件可以很方便地给子组件设置属性、调用它暴露出来的方法,也可以把属性值直接传播过去,甚至可以把一段标记内容传送到子组件的插槽里。插槽就像是子组件预留好的一个占位区域,父组件可以把设计好的界面片段填进去。
简单讲,组合就是靠嵌套和配置来复用功能,比继承灵活得多。记住这个原则,以后开发的思路就会更清晰。
关键词
LWC
Lightning Web Components
Salesforce