Czy w Angular można zapobiec migotaniu w wyrażeniach zawierających połączone wartości?


Czy istnieje sposób, aby zapobiec migotaniu szablonów, które zawierają połączone wartości, takie jak
{{person.LastName + "," + person.FirstName}}
?
Nie chcę widzieć znaku „,”, dopóki nie zostanie dołączony element
$ scope.person
.
Czy to jest coś, co mógłbym umieścić w filtrze? Czy stworzyłbyś filtr dla czegoś tak trywialnego?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz użyć do tego dyrektywy ngCloak. Z dokumentów:

Dyrektywa ngCloak służy do zapobiegania krótkiemu wyświetlaniu szablonu Angular
html przez przeglądarkę w jego surowej (nieskompilowanej) formie).
formularz podczas ładowania aplikacji. Użyj tej dyrektywy, aby uniknąć
niepożądany efekt migotania spowodowany renderowaniem szablonu html.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby to zrobić, możesz po prostu użyć
ng-show
.
Stworzyłem wersję demonstracyjną, aby pokazać wyniki.

http://plnkr.co/edit/ZAC8RzagP ... eview
http://plnkr.co/edit/ZAC8RzagP ... eview
Używam limitu czasu w kontrolerze wynoszącego 2 sekundy, więc możesz zobaczyć migotanie, jeśli usuniesz ng-show.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz użyć atrybutu „ng-bind” w swoim tagu opakowania, więc zamiast tego:
<span>{{person.LastName+ ", " + person.FirstName}}</span>

Możesz to zrobić:
<span ng-bind="person.LastName + ', ' + person.FirstName"></span>

Spowoduje to zmianę tekstu znacznika tylko wtedy, gdy wartość jest poprawnie połączona.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Miałem pewne problemy z NG-COAK, więc uciekłem się do użycia prostych starych CSS:
<div class="digits" style="display:none;">

A na kontrolerze:
document.querySelector('.digits').style.display = 'block';
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dzieje się tak, ponieważ ładujesz swój kątowy plik JS lib nie z sekcji
& < head & > & </head & >
. Jeśli nie ma to dla Ciebie większego znaczenia, po prostu przesuń swój kątowy tag
& < script & >
do głowy, a przestanie on migotać.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się