/ / Problem "migotania" w Knockout - javascript, knockout.js, singlepage, aplikacja jednostronicowa

Knockout "problem z migotaniem" - javascript, knockout.js, singlepage, single-page-application

Buduję SPA (Single Page Application) za pomocą KO, aplikacja wygląda jak książka, a użytkownik może przewracać strony.

Problem polega na tym, że za każdym razem, gdy strona się ładuje,jest krótka chwila, w której strona "migocze", a użytkownik widzi wersję strony bez wersji. Przypuszczam, że jest to spowodowane tym, że wiele stylizacji jest zależnych od wiązań ko, więc dopóki ko nie skończy "magii", użytkownik dostrzeże nieszyfrowany kod.

Czy można powiedzieć, kiedy KO zakończył wszystkie wiązania i dopiero potem wyświetli stronę?

Udało mi się częściowo go rozwiązać, ustawiając limit czasu przed załadowaniem widoku, ale oczywiście nie jest to dobre rozwiązanie.

Odpowiedzi:

53 dla odpowiedzi nr 1

Tak, to naprawdę bardzo proste. Zastosować display:none do najwyższego poziomu div (lub pojemnik w / e), oraz data-bind="visible: true". To spowoduje, że strona będzie ukryta, dopóki nokaut nie odkryje jej poprzez bindowanie (co oczywiście nie może się zdarzyć, dopóki nie zostanie całkowicie załadowane).

Ponieważ używasz wartości nieobserwowalnej, Knockout nawet nie zadaje sobie trudu, aby ponownie sprawdzić to ponownie.Nie powinien być problem wydajności po początkowym wiązaniu.


4 dla odpowiedzi nr 2

Myślę, że wcześniej lepiej było odpowiedzieć na to pytanie, korzystając z szablonów.

Jaki jest najlepszy sposób na ukrycie ekranu, gdy budowane są wiązania typu knockout?