Gibt es in Angular eine Möglichkeit, Flicker in Ausdrücken zu verhindern, die verkettete Werte enthalten?

8

Gibt es eine Möglichkeit, Flimmern für Vorlagen zu verhindern, die verkettete Werte wie {{person.LastName+ ", " + person.FirstName}} enthalten?

Ich möchte nicht das "," sehen, bis $scope.person gebunden ist.

Ist das etwas, das ich in einen Filter setzen könnte? Würdest du einen Filter für etwas so Triviales erstellen?

    
Jason 25.10.2013, 20:45
quelle

5 Antworten

6

Sie können einfach ng-show dafür verwenden. Ich habe eine Demo erstellt, um die Ergebnisse zu zeigen. Ссылка

Ich verwende einen Timeout von 2 Sekunden im Controller, damit Sie das Flimmern sehen können, wenn Sie ng-show entfernen.

    
bekite 25.10.2013, 21:01
quelle
14

Sie können dafür die ngCloak -Direktive verwenden. Aus der Dokumentation:

  

Die ngCloak-Direktive wird verwendet, um die Angular HTML-Vorlage zu verhindern   kurz vom Browser in seiner rohen (unkompilierten) angezeigt werden   Formular, während Ihre Anwendung geladen wird. Verwenden Sie diese Anweisung, um dies zu vermeiden   der unerwünschte Flimmereffekt, der durch die HTML-Vorlagenanzeige verursacht wird.

    
ajk 25.10.2013 20:46
quelle
5

Sie können das "ng-bind" -Attribut in Ihrem Wrapper-Tag verwenden, anstatt:

%Vor%

Sie können dies tun:

%Vor%

Dies ändert den Tag-Text nur dann, wenn der Wert korrekt verkettet ist.

    
recidive 26.08.2014 07:55
quelle
0

Hatten einige Probleme mit ng-Umhang, so dass ich auf die Verwendung von einfachen alten CSS zurückgegriffen:

%Vor%

Und auf dem Controller:

%Vor%     
Guy 17.09.2015 11:39
quelle
-1

Dies passiert, weil Sie Ihre angular js lib nicht aus dem <head></head> -Abschnitt laden. Wenn es Ihnen nichts ausmacht, bewegen Sie einfach Ihr angulares <script> -Tag in den Kopf und es sollte aufhören zu flackern.

    
M K 22.03.2014 14:46
quelle

Tags und Links