{{mount}}
lazy loading route-less engines.
- Ember.js v4.12 or above
- Embroider or ember-auto-import v2
ember install ember-lazy-mount
name
:string
— The name of the engine to loadmodel?
:any
— Optional model that will be passed through to the engine
The {{lazy-mount}}
component works just like the {{mount}}
helper.
It accepts the name of the engine as a positional parameter and also an optional
model
parameter.
As soon as the helper is rendered, it will begin loading the specified engine. If the engine is already loaded, it will be mounted immediately.
The engineName
and model
parameters are dynamic and you can update them.
Setting a new engineName
will cause the new engine to be loaded and mounted.
While the engine is loading, nothing is rendered. If there was an error loading the engine, nothing is rendered.
You can also pass three optional hooks:
onLoad()
— Called when the engine starts loadingdidLoad()
— Called when the engine loaded successfullyonError(error: Error)
— Called when the engine failed to load
While the engine is loading or if there was an error loading the engine, the
block that is passed to the component is rendered. The engine
block parameter
is an object with two properties:
isLoading
:boolean
— Whether or not the engine is currently loadingerror
:Error | null
— If there was an error loading the engine
When the engine was loaded successfully, the passed in block is replaced by the engine.
You can also pass in the same hooks: onLoad
, didLoad
, onError
See the Contributing guide for details.
This project is licensed under the MIT License.