Registering and Raising an Application Event - 212

DEX601 - Unit 2 Getting Started

📄 第 212 页 🎬 视频课程

课程章节介绍

让我们来聊聊如何在Salesforce的Lightning组件中注册和触发应用程序事件。这个过程其实挺简单的,我会尽量用通俗的语言来解释。 首先,想象一下你有一个按钮,当用户点击这个按钮时,你想要触发一个事件,告诉其他组件:“嘿,有人点击了按钮,你们该做点什么了!”这个事件就是我们要说的应用程序事件。 ### 注册事件 在Lightning组件中,首先你需要注册这个事件。这就像是在告诉系统:“我这儿有个事件,名字叫‘AppStudentselect’,你们可以监听它。”你会在组件的定义文件中使用``标签来注册这个事件。比如: ```html ``` 这里,`name`属性是你给事件起的名字,`type`属性是事件的具体类型。 ### 触发事件 接下来,当用户点击按钮时,你需要在JavaScript控制器中触发这个事件。你可以这样做: ```javascript ({ onTileClick: function(component, event, helper) { // 获取对事件的引用 var appEvents = $A.get("e.c:AppStudentselect"); // 设置一些数据,比如传递一个学生的ID appEvents.setParams({ "contactId": component.get("v.Student").Id }); // 触发事件 appEvents.fire(); } }) ``` 在这段代码中,`$A.get("e.c:AppStudentselect")`是用来获取你之前注册的事件的引用。然后,你可以通过`setParams`方法给事件传递一些数据,比如这里我们传递了一个学生的ID。最后,调用`fire()`方法来真正触发这个事件。 ### 总结 简单来说,注册事件就像是在告诉系统:“我这儿有个事件,你们可以监听它。”而触发事件则是在某个动作发生时(比如点击按钮),告诉系统:“事件发生了,你们该做点什么了!”通过这种方式,不同的组件之间就可以进行通信了。 希望这个解释能帮助你理解如何在Salesforce中注册和触发应用程序事件。如果有任何问题,随时问我!