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数据,我无法做到这一点.如何在“库”上设置默认子状态,以便每当访问该状态时,它都会重定向到子项?
这是我的设置图: 解决方法
不幸的是,您无法使用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); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |