课程章节介绍
让我们来聊聊事件传播的配置方式。在Salesforce的Lightning Web组件中,我们可以通过两个属性来控制事件的传播方式:一个是“冒泡”(bubbles),另一个是“合成”(composed)。这两个属性都是布尔值,也就是说,它们只能是“真”或“假”。
首先,我们来看第一个配置:冒泡设置为“假”,合成也设置为“假”。这是默认的配置,也就是说,如果你不特别设置这两个属性,它们就会是这样的。在这种配置下,事件不会通过DOM(文档对象模型)向上冒泡,也不会跨越阴影边界。这意味着,如果你想监听这个事件,你必须在直接触发这个事件的组件上添加监听器。举个例子,如果有一个学生浏览器的组件,它实例化了一个学生浏览器表单的组件,那么你只能在学生浏览器表单这个组件上直接添加一个监听器来监听“onfilterchange”这个事件。
接下来是第二个配置:冒泡和合成都设置为“真”。在这种配置下,事件不仅会通过DOM向上冒泡,还会跨越阴影边界,继续向上冒泡到文档的根。这样,事件就可以从一个组件传递到另一个组件,再传递到更上层的组件。比如,我们可以让学生选择事件从学生卡片组件传递到学生卡片列表组件,再传递到学生浏览器组件。
第三个配置是冒泡设置为“真”,但合成设置为“假”。这种配置在课程中我们不会使用。在这种配置下,事件会通过DOM冒泡,但不会跨越阴影边界。这意味着事件只能在同一个组件内部或者在同一层级的组件之间传播。
最后,我们来看一个无效的配置:冒泡设置为“假”,但合成设置为“真”。这种配置在Lightning Web组件中是不使用的。因为如果事件不能冒泡,那么它也就无法跨越阴影边界,这样的配置是没有意义的。
希望这些解释能帮助你更好地理解事件传播的配置方式。如果你有任何问题,随时问我哦!