找不到状态时UI路由器附加程序和未来状态的404页面



我是Angular的新手,因为我通常在构建相当大的应用程序,所以我开始创建一个懒惰加载的导航。事情运行得很好,我能够使用AngularUI路由器、UI路由器附加和ocLazyLoad延迟加载模块和状态。

以下是我的代码的简化版本:http://plnkr.co/edit/BXyvzy?p=info.

我唯一的问题是用UI路由器Extras的Futures States定义一个404页面。当我试图请求一个不存在或不在任何未来状态的状态时,应用程序会自动重定向到"/"。据我所知,在源代码中对此负责的代码是:

function otherwiseFunc($state) {
    $log.debug("Unable to map " + $location.path());
    $location.url("/");
}];

此函数被调用为另一个函数futureState_otherwise的一部分,该函数被声明为$urlRouterProvider的其他函数。

$urlRouterProvider.otherwise(futureState_otherwise);

如何正确处理UI路由器附加程序找不到的状态以及未来的状态?我应该为$urlRouterProvider.otherwise重写一个新函数吗?或者有更好的方法吗?

提前感谢!

我在ui router extra Github页面上创建了一个pull请求,提出了一个解决方案,并将其合并到项目中。因此,这个问题将在新版本中得到解决。

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

相关内容

最新更新