Дюрандаль: Как отойти от текущего представления в функции enable () этого представления?
У меня есть следующее:
function activate(routeData) {
// make dataservice call, evaluate results here. If condition is met, reroute:
if (true){
router.navigateTo("#/someRoute");
}
alert ("should not be shown");
}
Однако предупреждение получает удар, итогда вид меняется.
Как мне полностью отойти от текущего элемента и предотвратить попадание любого кода в этот виртуальный компьютер?
Обновить:
Я пытался с помощьюguardroute
но мне нужно активировать viewModel для вызова службы данных, которая возвращает данные, которые определяют, следует ли мне перенаправить маршрут. Использование guardroute полностью предотвращает вызов службы данных (поскольку ничто в функции активации не будет вызвано).
Я также пытался вернуться изif
блок, но это все еще загружает view / viewAttached / etc, так что UX сбой.