小编Jua*_*ido的帖子

是否可以在Angular 2.1(Angular Router 3.1.0)中触发模块加载

我一直在尝试Angular 2.1和模块延迟加载和预加载。到目前为止,我已经能够做一些普通的事情并使用不同的策略,或者定义了一种基本的自定义方法,如文档和Victor Savkin的这篇文章中所述。

但是,是否有任何预加载模块的方式,可以在特定事件或组件上的交互(例如单击或类似的想法,然后导航到它)之后触发此加载?

是否有可能注入的东西比一个布尔/数字/字符串值到的数据参数更有趣的路线(即会被添加到RouterModule.forRoot为例)和消费它,当你定义自己的PreloadingStrategy

app.routes.ts

[
  {
    path: 'moduleA',
    loadChildren: './moduleA.module',
    data: {preload: true}
  },
  {
    path: 'moduleB',
    loadChildren: './moduleB.module'
  }
]
Run Code Online (Sandbox Code Playgroud)

...

export class PreloadSelectedModulesList implements PreloadingStrategy {
  preload(route: Route, load: Function): Observable<any> {
    return route.data && route.data.preload ? load() : of(null);
  }
}
Run Code Online (Sandbox Code Playgroud)

angular2-routing angular

5
推荐指数
0
解决办法
387
查看次数

标签 统计

angular ×1

angular2-routing ×1