【发布时间】:2014-09-28 16:31:18
【问题描述】:
我是 Angular 的新手,因为我通常构建相当大的应用程序,所以我开始创建延迟加载导航。一切运行良好,我可以使用 AngularUI Router、UI-Router Extras 和 ocLazyLoad 延迟加载模块和状态。
这是我的代码的简化版本:http://plnkr.co/edit/BXyvzy?p=info。
我唯一的问题是使用 UI-Router Extras 的 Futures States 定义一个 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 重写一个新函数还是有更好的方法?
提前致谢!
【问题讨论】:
-
这是 UI-Router Extras 中的一个错误,对此感到抱歉。我打算回去连接股票 $urlRouterProvider.otherwise 声明,但一直没有解决它。您可以关注github.com/christopherthielen/ui-router-extras/issues/39,以便在我解决此问题时收到通知,但这并不能帮助您解决当前的问题。
-
好的,谢谢!我会关注 Github 问题,我会相应地更新这个问题。
标签: javascript angularjs angular-ui-router