Wir SPL haben, bei dem in index.html
ein ngModule auf diese Weise definiert ist:Wie Komponenten dynamisch, ohne sie
var module = ng.core.NgModule({
imports: [ng.platformBrowser.BrowserModule, ng.router.RouterModule, ng.material.MaterialModule],
declarations: [],
bootstrap: []
})
.Class({
constructor: function() { }
});
document.addEventListener('DOMContentLoaded', function() {
ng.platformBrowserDynamic
.platformBrowserDynamic()
.bootstrapModule(module);
});
Wie Sie die Liste der Erklärungen sehen in unserem NgModule
ist leer. Dieser Code von Entwicklern A zum Beispiel durchgeführt wird, und wird in der Seite neben index.html
An einer anderen Stelle Entwickler B erstellt eine einfache Komponente geladen:
var tasks = ng.core.Component({
selector: 'tasks',
template: '<div>list of tasks here<div>'
})
.Class({
constructor: function() { }
});
Dieser Code wird lazily geladen, über die Interaktion des Benutzers und Routenänderung.
Wie können wir diese Komponente in unser Modul aufnehmen? Der Pseudo-Code könnte sein:
module.AddComponent(tasks);