Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
Actions and Events
- Actions
- User interaction with an element on a component or app. User actions trigger events,
but events aren’t always explicitly triggered by user actions. This type of action is
not the same as a client-side JavaScript controller, which is sometimes known
as a controller action. The following button is wired up to a browser
onclick event in response to a button click.
1<lightning:button label = "Click Me" onclick = "{!c.handleClick}" />Clicking the button invokes the handleClick method in the component’s client-side controller.
- Events
- A notification by the browser regarding an action. Browser events are handled by
client-side JavaScript controllers, as shown in the previous example. A browser event
is not the same as a framework component event or application event,
which you can create and fire in a JavaScript controller to communicate data between
components. For example, you can wire up the click event of a checkbox to a
client-side controller, which fires a component event to communicate relevant data to
a parent component.
Another type of event, known as a system event, is fired automatically by the framework during its lifecycle, such as during component initialization, change of an attribute value, and rendering. Components can handle a system event by registering the event in the component markup.
The following diagram describes what happens when a user clicks a button that requires the component to retrieve data from the server.
- User clicks a button or interacts with a component, triggering a browser event. For example, you want to save data from the server when the button is clicked.
- The button click invokes a client-side JavaScript controller, which provides some custom logic before invoking a helper function.
- The JavaScript controller invokes a helper function. A helper function improves code reuse but it’s optional for this example.
- The helper function calls an Apex controller method and queues the action.
- The Apex method is invoked and data is returned.
- A JavaScript callback function is invoked when the Apex method completes.
- The JavaScript callback function evaluates logic and updates the component’s UI.
- User sees the updated component.