【问题标题】:404 page for UI-Router Extras and future states when a state is not found未找到状态时 UI-Router Extras 和未来状态的 404 页面
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • 这出现在评论中,不确定我是否应该举报或投票...但如果这是答案,干得好!
  • 是的,这个功能现在可以在 ui-router-extras 0.0.11 及更高版本中使用。
猜你喜欢
  • 2017-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-21
  • 2019-07-30
  • 2020-07-06
  • 1970-01-01
相关资源
最近更新 更多