【问题标题】:angular2 $routeChangeStart , $routeChangeSuccess ,$routeChangeErrorangular2 $routeChangeStart , $routeChangeSuccess ,$routeChangeError
【发布时间】:2015-11-05 10:32:01
【问题描述】:

在 angular2 中,这些 angular1 事件的等价物是什么?

$routeChangeStart , $routeChangeSuccess ,$routeChangeError

我想在根应用程序组件中使用这些事件来处理任何路由更改。

提前致谢

更新

  • 如果我使用 OnActivate、OnDeactivate 事件,则需要将其添加到每个组件中:(

  • 我也尝试实现自己的 RouterOutlet,但我无法访问之前关于激活、停用事件的指令,我也不知道如何处理路由更改错误

  • router.subscribe 也只给了我名字,但我想获取当前和下一个指令对象来更改一些属性

我的目标是:

1- 开始更改页面时显示加载指示器并在页面加载时隐藏它。

2- 为当前和下一条指令制作过渡动画 rtl 或 ltr

【问题讨论】:

  • 我为任何遇到这个问题的人解决了这个问题,您可以制作自己的 RouterOutlet 指令,该指令继承自 RouterOutlet,然后将其用作代理
  • 你有样品吗?任何麻烦?
  • @JavierRos 如果您搜索 angular2 custom router outlet,会有一些帖子和项目。其中一些来自captaincoderauth0blacksonic

标签: angular


【解决方案1】:

有一些事件,例如OnActivateOnDeactivate 和守卫函数CanActivateCanDeactivate,您可以查看。

查看Router的文档

【讨论】:

  • 这些事件在组件级别起作用,我想涵盖根应用程序组件中的所有路由更改,我想涵盖 根应用程序组件中的更改
  • 感谢 Chandermani 试图帮助我阅读组件挂钩,但它有助于我们观察属性(任何属性)的变化值,但路由不是属性
  • 我可以将路由位置作为属性处理,但它不会捕获所有路由事件,如 $routeChangeSuccess ,$routeChangeError ,它不会将路由作为路由处理,而只会作为属性处理
  • - 如果我使用 OnActivate、OnDeactivate 事件,但它需要将其添加到每个组件中 :( - 我也尝试实现自己的 RouterOutlet,但我无法访问之前关于激活、停用事件的指令,我也不知道如何处理路由更改错误-router.subscribe 也只给了我名字,但我想获取当前和下一个指令对象来更改一些属性我的目标是: 1- 启动时显示加载指示器换页,完成换页后隐藏。2-为当前和下一条指令制作过渡动画rtl或ltr
【解决方案2】:

我解决了这个问题,对于任何遇到这个问题的人,您可以制作自己的 RouterOutlet 指令,该指令继承自 RouterOutlet,然后将其用作代理

【讨论】:

    猜你喜欢
    • 2017-11-19
    • 2014-08-27
    • 2014-09-16
    • 2012-09-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多