用于UI-Router Extras的404页面以及未找到状态时的未来状态

时间:2014-09-28 16:31:19

标签: javascript angularjs angular-ui-router

我是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重写一个新函数还是有更好的方法?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我在ui-router-extras Github页面上创建了一个pull-request,提出了一个解决方案,它已经合并到了项目中。因此,新版本将解决此问题。

https://github.com/christopherthielen/ui-router-extras/pull/77