Ich möchte Leistungsoptimierung meiner App vornehmen. Und ich stieß auf das folgende Problem. Lassen Sie mich ein Objekt mit mehreren Tasten (die innerhalb eines Objekts nicht veränderbar sind) und eine ähnliche Ansicht wie folgt aus:Winkel einmalige Bindungen für Objekteigenschaften
<div ng-if="vm.model">
<span>{{ vm.model.property1 }}</span>
<span>{{ vm.model.property2 }}</span>
<span>{{ vm.model.property3 }}</span>
</div>
ich gewollt hätte Einmal Bindungen für meine Eigenschaften zu verwenden, aber wenn ich vm ändern .model innerhalb des Controllers zu einem anderen Objekt durch Verweis, dann werden meine Ausdrücke nicht innerhalb der Ansicht aktualisiert, es sei denn, ich mache eine explizite Änderung des Modells zu einem falschen Wert und triggert irgendwie einen Digest-Zyklus, um den gesamten Block zu entfernen und dann neu kompiliert.
Gibt es eine Weise, die ich vermeiden kann diese drei redundanten Beobachter mit, da diese Eigenschaften nicht beobachtet werden sollen, sondern nur das übergeordnete Objekt zu verweisen.
Ich habe schon erwähnt, dass ich nicht hier einmalige Bindungen verwenden können, und erklärt den Grund. Wenn ich zum Beispiel scope.vm.model = {...} in der directive link Funktion verwende, werden diese Ausdrücke nicht aktualisiert. –