【问题标题】:Angular 4 - use resolver for app componentAngular 4 - 为应用程序组件使用解析器
【发布时间】:2018-07-13 08:21:53
【问题描述】:

我刚刚发现了resolver class,发现它非常有用。

我需要预加载不同的对象,具体取决于具体的 url。

但是,在我的布局 (app.component.ts + app.component.html) 中,我想使用解析器从 api 预加载记录的用户数据。

我知道这个组件不是通过路由器访问的,所以我现在使用ngOnInit钩子。

有没有办法在应用组件渲染之前使用解析器来预加载数据?

【问题讨论】:

  • 通常在应用程序组件中只有基本布局和路由器插座。因此,如果您要创建一个需要来自 api 的数据并导航到它的组件,您应该能够使用您想要的方法。
  • 1. 您需要为服务实现解析器接口。 2. 将此解析器服务放入特定路由。 3. 在路由组件上,您应该使用 ActivatedRoute 来订阅它拥有的数据。
  • 没错@adrian-fâciu,只需创建一个标题组件...谢谢!

标签: angular angular-routing angular-resolver


【解决方案1】:

APP_INITIALIZER 更适合为整个应用加载数据。

Angular 12 you can use Observables.

对于app.component,它看起来像解析器运行并等待它完成,但它只是不将数据传递给 App 组件。但是,即使在顶层定义了resolve,该数据也可供子组件使用。但是,如果确实需要全局加载某些东西,APP_INITIALIZER 可能是您最好的选择!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2017-09-13
    相关资源
    最近更新 更多