Ich begann mit AngularJS arbeiten und ich habe die Konvention zum Schreiben von Controllern mit diesem, nicht mit $ Scope. Also meine Controller wie folgt aussehen:
myApp.controller("SomeController", function(){
this.myModel={id:-1, name:"empty"};
});
<div ng-controller="SomeController as ctrl">
<input type="text" ng-model="ctrl.myModel.name" />
</div>
Nun änderte ich das MyModel Objekt in der Steuerung in einer Weise, wie folgt aus:
this.myModel=someOtherObjectFromAForeignSource;
... und der Wert innerhalb der Steuereingang nicht Veränderung. Ich lese über die $ apply-Funktion und ihre Verwendung, aber da ich die "this" -Konvention verwende, habe ich keine $ scope-Variable.
Wie rufe ich die Methode $ apply auf?
Warum denken Sie, was Sie brauchen '$ apply()'? Woher kommen diese anderen Daten? - Ihre 'Eingabe' ist auch auf die Eigenschaft' name' gesetzt - enthält Ihr neues Objekt diese Eigenschaft? – tymeJV
Ja, es enthält die Eigenschaft name - dieses neue Objekt stammt von einem Drittanbieter-Steuerelement, und eckig kann die Änderung nicht automatisch registrieren. Wie auch immer, meine Frage ist immer noch, wie man die $ apply-Methode ohne die Verwendung von $ scope verwendet? –
Ich denke, Sie können $ apply ohne $ scope oder $ rootScope nicht verwenden. – Ved