Durandal: Jak odejść od bieżącego widoku w funkcji aktywowania () tego widoku?
Mam następujące:
function activate(routeData) {
// make dataservice call, evaluate results here. If condition is met, reroute:
if (true){
router.navigateTo("#/someRoute");
}
alert ("should not be shown");
}
Alert jest jednak trafiony inastępnie widok się zmienia.
Jak w pełni odejść od bieżącego elementu i zapobiec trafieniu jakiegokolwiek kolejnego kodu w tym vm?
Aktualizacja:
Próbowałem użyćguardroute
ale muszę aktywować viewModel, aby wywołać usługę dataservice, która zwraca dane, które określają, czy powinienem ponownie wyznaczyć trasę. Korzystanie z Guardroute całkowicie uniemożliwia wywołanie usługi dataservice (ponieważ nic w funkcji aktywacji nie zostanie trafione).
Próbowałem też wrócić zif
blok, ale to wciąż ładuje widok / viewAttached / etc, więc UX jest uciążliwy.