1

Wir haben eine recht große Angular 2/4 Anwendung, die reaktive Formen verwendet, mit Hunderten von Form-Kontrollen.Wie hoch ist der Aufwand für die Abhängigkeitsinjektion in Angular?

Gibt es einen erheblichen Overhead, indem nur eine ChangeDetectorRef-Instanz in etwa 200 Formularsteuerkomponenten eingefügt wird?

ändert Erfassungsreferenz Nutzung:

https://angular.io/api/core/ChangeDetectorRef

+0

und was haben Sie vor, mit ihnen zu tun? –

+0

Ich rufe detectChanges() manuell auf, nach der Komponente init, weil ich einige von ihnen neu gestalten will, und meine ChangeDetectionStrategy ist auf OnPush gesetzt. – ktsangop

Antwort

3

Es gibt einen leichten Überkopf aus der Notwendigkeit einen ViewRef_ Wrapper um die Komponente View-Objekt zu erstellen. Die ChangeDetectorRef selbst ist nur eine Instanz von ViewRef_.

Hier ist der relevante Code-Schnipsel fro die Quellen, wo resolveDep die Funktion, wenn Angular Prozesse Abhängigkeiten für einen Konstruktor aufgerufen ist:

function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) { 
    ... 
    while (view) { 
     if (elDef) { 
      switch (tokenKey$$1) { 
       ... 
       case ChangeDetectorRefTokenKey: { 
        var cdView = findCompView(view, elDef, allowPrivateServices); 
        return createChangeDetectorRef(cdView); <------ create a wrapper 
       } 

export function createChangeDetectorRef(view: ViewData): ChangeDetectorRef { 
    return new ViewRef_(view); 
} 

diese Artikel zu lesen, um mehr über das zugrunde liegende View-Objekt zu lernen:

+0

Große Ressourcen btw, danke .. – ktsangop

+0

@ktsangop, danke, viele weitere kommen :) –

Verwandte Themen