gpt4 book ai didi

javascript - Angular ui 加载状态前路由检查条件

转载 作者:太空宇宙 更新时间:2023-11-04 16:06:28 25 4
gpt4 key购买 nike

使用 Angular ui-router我正在尝试根据条件进行嵌套路由,即想要在加载状态之前检查条件。

    .state('main.home', {
url: "/:cnt",
abstract: true,
templateUrl: function ($stateParams) {
return template1;
},
controller: "myController",
resolve: {
//Some model
}],

lazy: ['$ocLazyLoad', '$stateParams', function ($ocLazyLoad, $stateParams) {
//lazily loaded controllers
}]
},
onEnter: updateAppValues,
}).state('main.home.default', {
url: '',
templateUrl: function ($stateParams) {
return template2;
},
resolve: {
lazy: ['$ocLazyLoad', function ($ocLazyLoad) {
//lazily loaded controllers
}]
},
controller: 'myDefaultController',
})

基本上,嵌套路由器main.home.default必须有条件地加载

if(something){
//loaded state main.home.default
}

我怎样才能实现这个目标?

最佳答案

您可以通过以下方式捕获路线更改事件:

$rootScope.$on("$routeChangeStart", function(event, next, current) {
if(next.$$route == 'routeYouWantToAvoid') { // Or whatever you want
$state.transitTo('main.home.default');
}
});
  • 下一个是您要去的路线。

  • 当前您来自的路线。

这是documentation如果您需要更多信息。

关于javascript - Angular ui 加载状态前路由检查条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41823624/

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