Skip to content

Instantly share code, notes, and snippets.

@buschtoens
Created November 13, 2017 11:27
Show Gist options
  • Save buschtoens/3769f5aa2c6300d27e6c07c48fd363a9 to your computer and use it in GitHub Desktop.
Save buschtoens/3769f5aa2c6300d27e6c07c48fd363a9 to your computer and use it in GitHub Desktop.
Lazily load routeless engine
import Route from '@ember/routing/route';
import { get, setProperties } from '@ember/object';
import { service } from 'ember-decorators/service';
export default class extends Route {
@service assetLoader;
engineName = 'image-editor';
async beforeModel() {
if (!this.router._engineIsLoaded(this.engineName)) {
const assetLoader = get(this, 'assetLoader');
await assetLoader.loadBundle(this.engineName);
this.router._registerEngine(this.engineName);
}
}
setupController(controller, model) {
setProperties(controller, {
engineName: this.engineName,
imageUrl: get(model, 'url')
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment