410 Stimmen

AngularJS: Warum ist ng-bind in Angular besser als {{}}?

Ich war bei einer der Angular-Präsentationen und eine Person im Meeting erwähnte, dass ng-bind besser ist als die {{}}-Bindung.

Einer der Gründe ist, dass ng-bind die Variable in die Watch-Liste einträgt und nur dann die Daten in die Ansicht übertragen werden, wenn sich das Modell ändert. Auf der anderen Seite interpoliert {{}} den Ausdruck jedes Mal (ich denke, es ist der Angular-Zyklus) und überträgt den Wert, egal ob sich der Wert geändert hat oder nicht.

Es wurde auch gesagt, dass, wenn Sie nicht viele Daten auf dem Bildschirm haben, Sie {{}} verwenden können und das Leistungsproblem nicht sichtbar wird. Kann mir jemand etwas Licht in diese Frage bringen?

0voto

Alireza Punkte 92209

Laut Angular-Dokumentation:
Da ngBind ein Elementattribut ist, bleiben die Bindungen für den Benutzer während des Seitenladens unsichtbar... das ist der Hauptunterschied...

Im Grunde genommen können wir sie solange nicht sehen, bis alle dom-Elemente geladen sind, und da ngBind ein Attribut am Element ist, wartet es, bis die doms ins Spiel kommen... mehr Informationen unten

ngBind
- Direktive im Modul ng

Das ngBind-Attribut sagt AngularJS, den Textinhalt des spezifizierten HTML-Elements durch den Wert eines bestimmten Ausdrucks zu ersetzen, und den Textinhalt zu aktualisieren, wenn sich der Wert dieses Ausdrucks ändert.

Normalerweise verwendet man ngBind nicht direkt, sondern stattdessen verwendet man die doppelten geschweiften Klammern wie {{ Ausdruck }}, das ähnlich ist, aber weniger umständlich.

Es ist vorzuziehen, ngBind anstatt {{ Ausdruck }} zu verwenden, wenn eine Vorlage kurzzeitig im Rohzustand vom Browser angezeigt wird, bevor AngularJS sie compilert. Da ngBind ein Elementattribut ist, bleiben die Bindungen für den Benutzer während des Seitenladens unsichtbar.

Ein Alternativlösung zu diesem Problem wäre die Verwendung der ngCloak-Direktive. hier besuchen

für mehr Informationen über das ngBind besuche diese Seite: https://docs.angularjs.org/api/ng/directive/ngBind

Man könnte so etwas wie dies als Attribut machen, ng-bind:

oder Interpolation wie unten:

{{my.name}}

oder auf diese Weise mit ng-cloak-Attributen in AngularJs:

{{my.name}}

ng-cloak vermeidet ein Flackern im dom und wartet, bis alles bereit ist! Das entspricht dem ng-bind-Attribut...

0voto

Sneha Punkte 153

Sie können sich auf diese Seite beziehen, sie wird Ihnen eine Erklärung geben, welche besser ist, soweit ich weiß {{}} das ist langsamer als ng-bind.

http://corpus.hubwiz.com/2/angularjs/16125872.html beziehen Sie sich auf diese Seite.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X