This functionality is Sneak Peek status. This means that the APIs may change. We welcome your feedback, ideas, and code, but please use caution if you use this new functionality.
New in v1.4
Sometimes, you may need to make sure that something in a parent component is fully in place before a subcomponent is instantiated: perhaps data needs to be fetched from an external source before a subcomponent can work with it, or a template needs to be rendered before the subcomponent can bind events to elements.
The createOnEvent
allows you to specify an event to trigger the creation of a subcomponent: If this option is specified, the IoC system will wait until the parent component fires the named event before creating the subcomponent.
Using createOnEvent
in the parent's defaults
createOnEvent
can be specified as part of a subcomponent's definition in the parent's components
block, as shown in the example below:
fluid.defaults("fluid.uiOptions.preview", { ... events: { onReady: null, ... }, components: { enhancer: { type: "fluid.uiEnhancer", createOnEvent: "onReady", options: { ... } ... } };
In this example, a component called fluid.uiOptions.preview
is declaring a subcomponent called enhancer
. The enhancer
subcomponent must wait until the parent component has been fully initialized before it is created, so createOnEvent
is used to specify the "onReady" event. The IoC framework will wait until the parent component (fluid.uiOptions.preview
) fires its onReady
event before instantiating the enhancer
subcomponent.