我是Angular的新手,因为我经常构建相当大的应用程序,所以我开始创建一个延迟加载的导航。事情很好,我可以使用AngularUI路由器,UI-Router Extras和ocLazyLoad延迟加载模块和状态。
以下是我的代码的简化版:http://plnkr.co/edit/BXyvzy?p=info。
我唯一的问题是使用UI-Router Extras的期货状态定义404页面。当我尝试请求不存在或未处于任何未来状态的状态时,应用程序将静默重定向到“/”。据我所知,源代码中的代码是:
function otherwiseFunc($state) {
$log.debug("Unable to map " + $location.path());
$location.url("/");
}];
此函数作为另一个函数futureState_otherwise
的一部分调用,该函数被声明为$urlRouterProvider
的其他函数。
$urlRouterProvider.otherwise(futureState_otherwise);
如何正确处理UI-Router Extras和未来状态未找到的状态?我应该为$urlRouterProvider.otherwise
重写一个新函数还是有更好的方法?
提前致谢!
答案 0 :(得分:1)
我在ui-router-extras Github页面上创建了一个pull-request,提出了一个解决方案,它已经合并到了项目中。因此,新版本将解决此问题。
https://github.com/christopherthielen/ui-router-extras/pull/77