2015-06-16 17 views
5

Po prostu zastanawiam się, czy ktoś wie, jak debugować sytuację, gdy masz pustą stronę dla UI-Routera. (Oczywiście, bez żadnych błędów w konsoli)AngularJS: debugowanie pustych stron interfejsu użytkownika

Wykonując console.log dla zdarzeń routera (od here) Znalazłem cię, że poszedł do prawidłowego stanu, ale po nie zatrzymał się na punkcie przerwania wewnątrz kontrolera stanu, który określiłem w Stan UI-Router:

.state('invited-user', { 
    parent: 'authPublic', 
    url: '/users/invitation/accept?back_link&invitation_token', 
    templateUrl: 'auth/invited-form.html', 
    controller: 'InvitedUserController', 
    data: { 
     hidePageNavigation: true 
    } 
}) 

, więc sądzę, że kontroler jest problemem. już próbował go wyśmiewać:

.state('invited-user', { 
    parent: 'authPublic', 
    url: '/users/invitation/accept?back_link&invitation_token', 
    templateUrl: 'auth/invited-form.html', 
    controller: function(){ 
     debugger 
    }, 
    data: { 
     hidePageNavigation: true 
    } 
}) 

ale bez rezultatu, niestety.

Szukam rozwiązania dla bieżącego wydania i ogólnego podejścia do debugowania takich sytuacji w ogóle.

+0

Być może brakuje Ci widoków interfejsu użytkownika. Potrzebujesz jednego w pliku index.html dla authPublic, a authPublic potrzebuje szablonu z widokiem interfejsu użytkownika. –

Odpowiedz

4

Więc doszedłem do wniosku, że logika debug powinno być tak:

  1. console.log wydarzenia Router (kod jest here), aby sprawdzić Logic Router
  2. czek Wzór aktualnego stanu routera (mock w razie potrzeby)
  3. sprawdź kontroler bieżącego stanu (pozoruj z pustą funkcją, jeśli to konieczne)
  4. sprawdź wszystkie szablony i kontrolery stanów nadrzędnych od bieżącego, zaczynając od najbliższego rodzica i przechodząc w górę.

Właściwie byłoby miło mieć wyjątek od pudełka, aby zobaczyć dokładny problem, ale niestety mamy to, co mamy.