我有以下内容:
function activate(routeData) {
// make dataservice call, evaluate results here. If condition is met, reroute:
if (true){
router.navigateTo("#/someRoute");
}
alert ("should not be shown");
}
然而,警报被击中,然后视图发生了变化。
如何完全离开当前项目并防止该 vm 中的任何其他代码被命中?
更新:
我尝试使用guardroute
,但我必须激活 viewModel 来调用返回数据的数据服务,以确定我是否应该重新路由。使用guardroute 完全可以防止调用数据服务(因为激活函数中的任何内容都不会受到影响)。
我也尝试从if
块中返回,但这仍然会加载视图/viewAttached/等,因此用户体验会出现故障。