Дюрандаль: Как отойти от текущего представления в функции 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 сбой.

Ответы на вопрос(5)

Ваш ответ на вопрос