2017-03-15 2 views
1
Abschnitt Erklärungen in NgModule Auflistung in Angular 2, laden

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); 

Antwort

0

Sie versuchen forwardRef verwenden, können aber ich bin mir nicht sicher, ob es funktioniert Sinus i dont haben keinen Code zu testen, mit.

var module = ng.core.NgModule({ 
      imports: [ng.platformBrowser.BrowserModule, ng.router.RouterModule, ng.material.MaterialModule], 
      declarations: [ng.core.forwardRef(() => tasks], 
      bootstrap: [] 
     }) 
     .Class({ 
      constructor: function() { } 
     }); 
Verwandte Themen