Właśnie rozpocząłem nowy projekt. Buduję aplikację internetową "z natywnym odczuciem", która będzie uruchamiana na zdalnie sterowanym urządzeniu w przeglądarce pełnoekranowej (bez paska adresu, stała rozdzielczość). Interfejs użytkownika w zasadzie składa się z wielu pełnoekranowych widoków. AngularJS jest obecnie najczęściej wybieraną bronią z wielu powodów. Próbowałem "ui-routera" i jego "stanów", aby skonstruować różne widoki. Na przykład:Alternatywy dla UI-routera AngularJS
/#/desktop
/#/menu
/#/videoStore/posterView
/#/videoStore/listView
Bardzo lubię o szablon, kontroler oraz URL-per-view. Fakt, że strona nie przeładowuje się podczas przełączania widoków, jest najważniejszy. Jest jednak kilka rzeczy, których mi brakuje.
podwójne buforowanie
Chcę być w stanie przygotować kolejny stan/widok przed przejściem do niego. ui-router oferuje serię zdarzeń, które będą wykonywane pod , a nie. onEnter
, $stateChangeStart
i $stateChangeSuccess
są wywoływane, zanim nawet skonstruowane zostanie state/view controller
. Wolę te zdarzenia, które nazywają się na kontrolerem przed przejściem. Na przykład onStart
przy pierwszym uruchomieniu i onResume
przy wznowieniu.
zachowanie Historia
Stan wydaje się być odtworzone za każdym razem wpisać go, co oznacza, że szablon jest ponownie dodane do DOM i nowy kontroler jest tworzony. Jest to niepotrzebne i powinno zabić wydajność. Nie ma potrzeby rekonstrukcji menu po opuszczeniu sklepu wideo. Rzeczywiście, chcę mieć to samo, skupiając się na tym samym elemencie w podfolderach i takim, bez konieczności jego ponownego tworzenia.
Keyhandling
I nie zorientowali się, jak sprawić, że klucze przejść do właściwej państwowej/widoku lub podrzędny albo. Rozważałem dodanie detektora do ciała, a następnie wysłanie kluczy do bieżącego zakresu. Chociaż nie sądzę, że zrobi to z powodu niepewności, który zakres jest "aktywny", gdy ma wiele widoków w stanie. Pewne zdarzenie onFocus
na kontrolerze stanu/widoku byłoby świetne. Wydaje się również, że nie ma możliwości uzyskania "aktywnego" zasięgu z kątowego, chyba że przechodzimy przez pola $$ (prywatne).
W porządku. Dziękuje za przeczytanie.
Oto moje pytania:
- Czy ich jakiś sposób aby "zrobić" z
ui-router
? Oceniam to tylko na dwa dni i mogłem stracić dużo. - Czy jest dostępna godna alternatywa dla Angulars dla
ui-router
? - Czy istnieją inne ramy JavaScript, które są podobne do tego, jak je opisuję?
Warto wspomnieć. Urządzenie docelowe jest słabe, a przeglądarka jest wymagana. – Hampus
Jak rozwiązać swój problem? – Chexpir
@Hampus, zastanawiam się również, w jaki sposób rozwiązałeś swój problem. Założenia, które ui-router robi o tym, jak aplikacja jest konstruowana, ograniczają również moje pragnienie "natywnego wyczucia". Byłby zainteresowany wiedzieć, co postanowiłeś zrobić. –