gpt4 book ai didi

single-page-application - Durandal:如何在该 View 的 activate() 函数中远离当前 View ?

转载 作者:行者123 更新时间:2023-12-01 07:00:39 24 4
gpt4 key购买 nike

我有以下几点:

function activate(routeData) {
// make dataservice call, evaluate results here. If condition is met, reroute:
if (true){
router.navigateTo("#/someRoute");
}
alert ("should not be shown");
}

然而,警报被击中,然后 View 发生变化。

如何完全离开当前项目并防止该 vm 中的任何其他代码被命中?

更新:

我尝试使用 guardroute但我必须激活 viewModel 才能调用返回数据的数据服务,该数据决定了我是否应该重新路由。使用保护路由完全防止数据服务被调用(因为激活函数中的任何内容都不会被命中)。

我也尝试从 if 返回阻止,但这仍然加载 View /viewAttached/等,因此用户体验出现故障。

最佳答案

以下在 Durandal 2.0 中对我有用:

    canActivate: function() {
if(condition)
return {redirect: 'otherRoute'};
return true;
}

activate: // Do your stuff

它在文档中提到: http://durandaljs.com/documentation/Using-The-Router.html

关于single-page-application - Durandal:如何在该 View 的 activate() 函数中远离当前 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com