Durandal: Como se afastar da visão atual dentro da função activate () dessa visão?
Eu tenho o seguinte:
function activate(routeData) {
// make dataservice call, evaluate results here. If condition is met, reroute:
if (true){
router.navigateTo("#/someRoute");
}
alert ("should not be shown");
}
O alerta está sendo atingido, no entanto, eentão a visão muda.
Como faço para navegar completamente longe do item atual e evitar que qualquer código adicional nessa vm seja atingido?
Atualizar:
Eu tentei usarguardroute
mas tenho que ativar o viewModel para chamar o dataservice que retorna os dados que determinam se devo ou não reencaminhar. Usar guardroute impede totalmente que o serviço de dados seja chamado (já que nada na função de ativação será atingido).
Eu também tentei voltar doif
bloco, mas isso ainda carrega o view / viewAttached / etc assim que o UX é glitchy.