Nasz zespół (nie tylko mój komputer) ma dziwny problem z renderowaniem dla Angular 2, który występuje tylko w Chrome.Problemy z renderingiem DOM z Angular 2 Chrome
Mianowicie, podczas poruszania się po aplikacji lub odświeżania w połowie aplikacji wiele elementów w DOM jest niewidoczna. NA PRZYKŁAD. akapity i nagłówki, które zawierają tekst, ale tekst nie jest wyświetlany dla użytkownika końcowego, ale tekst jest widoczny w inspektorze DOM.
DOM przywróci widoczność po edycji losowego atrybutu CSS w inspektorze. Ten CSS nie musi nawet odnosić się do niewidzialnego elementu DOM pod ręką, ala. Niewidoczny element może być akapitem w nagłówku, a włączenie/wyłączenie górnej pozycji stopki w stopce spowoduje, że akapit nagłówka odzyska widoczność.
Przed przełączając element losowy CSS
Po przełączając element losowy CSS
Dzieje się na stronach, które mają stałą ładowarka stosowanych do nich, np. komponent, który ma ustaloną pozycję, super-wysoki indeks z-i obejmuje cały ekran. Ten program ładujący strony wyświetla się, aż ngOnInit się zakończy, co oznacza, że jest dość szybki przez większość czasu. Wyłączenie tego programu ładującego wydaje się naprawić ten problem.
Czasami dzieje się tak również z tekstem w tagach {{var}}, gdy wartość var jest ładowana po załadowaniu strony.
Próbowaliśmy przełączanie ładowarka albo
*ngIf="true/false"
LUB
[style.display]="block/none"
Żadne z tych rozwiązań nie działa, niektóre dom jest nadal niewidoczny.
Czy ktoś ma pojęcia, dlaczego tak się dzieje?
Budujesz aplikację Chrome? jeśli tak, być może będziesz musiał uruchomić niektóre wywołania zwrotne w strefie ... Należy również zauważyć, że kątowe przesłania większość wbudowanej funkcji asynchronicznej (setTimeout, ajax complete, itp.) do uruchamiania w strefach i biblioteka, która jest ładowana po ustawieniu kątowym, może również nadpisuj to zachowanie (doświadczyłem tego z niektórymi wtyczkami cordova) – n00dl3
Niestety nie buduję aplikacji Chrome. Tylko zwykła kanciasta aplikacja internetowa. Przepraszam, jeśli to nie było jasne w moim opisie problemu. –
może mógłbyś wymusić akcelerację sprzętową z 'transform: translate3d (0,0,0)' na elementach, które nie zostaną przemalowane. – n00dl3