aura:dependency
The framework automatically tracks dependencies between definitions, such as components, defined in markup. This enables the framework to send the definitions to the browser. However, if a component’s JavaScript code dynamically instantiates another component or fires an event that isn’t directly referenced in the component’s markup, use <aura:dependency> in the component’s markup to explicitly tell the framework about the dependency. Adding the <aura:dependency> tag ensures that a definition, such as a component, and its dependencies are sent to the client, when needed.
For example, adding this tag to a component marks the sampleNamespace:sampleComponent component as a dependency.
<aura:dependency resource="markup://sampleNamespace:sampleComponent" />
Add this tag to component markup to mark the event as a dependency.
<aura:dependency resource="markup://force:navigateToComponent" type="EVENT"/>
Use the <aura:dependency> tag if you fire an event in JavaScript code and you’re not registering the event in component markup using <aura:registerEvent>. Using an <aura:registerEvent> tag is the preferred approach.
The <aura:dependency> tag includes these system attributes.
System Attribute | Description |
---|---|
resource | The resource that the component depends on, such as a component or event. For example, resource="markup://sampleNamespace:sampleComponent" refers to the sampleComponent in the sampleNamespace namespace. |
type | The type of resource that the component depends on. The default value is COMPONENT. The most commonly used values are:
Use a comma-separated list for multiple types; for example: COMPONENT,APPLICATION. |