加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – UI路由器:导航到抽象父状态时重定向到子状态

发布时间:2020-12-17 17:58:37 所属栏目:安全 来源:网络整理
导读:在我的音乐应用程序中,我对应用程序的顶级状态进行了重复操作以创建导航链接.其中一个名为library的顶级状态是抽象的,并且具有子状态(可以使用制表符导航).由于我使用的是ng-repeat,因此抽象状态具有ui-sref =“library”的指令.但是,不可能导航到这样的抽象
在我的音乐应用程序中,我对应用程序的顶级状态进行了重复操作以创建导航链接.其中一个名为library的顶级状态是抽象的,并且具有子状态(可以使用制表符导航).由于我使用的是ng-repeat,因此抽象状态具有ui-sref =“library”的指令.但是,不可能导航到这样的抽象父状态,而是需要编写ui-sref =“library.albums”.由于直接来自州提供商的ng-repeat数据,我无法做到这一点.如何在“库”上设置默认子状态,以便每当访问该状态时,它都会重定向到子项?

这是我的设置图:

enter image description here

解决方法

不幸的是,您无法使用ui-sref链接到抽象状态.

你可以尝试类似的东西:

$rootScope.$on('$stateChangeStart',function(event,toState,toParams){
    if(toState.name == 'library'){
        event.preventDefault();
        $state.go('library.albums',toParams);
    }
}

而不是硬编码每个状态重定向,你可以做类似的事情:

$stateProvider
    .state('library',{
        url: '/library',data: {
            redirect: 'library.albums'
        }
    })
    .state('library.albums',{
        url: '/albums',data: {
            redirect: false
        }
    });

$rootScope.$on('$stateChangeStart',toParams){
    if(toState.data && toState.data.redirect){
        event.preventDefault();
        $state.go(toState.data.redirect,toParams);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读