默认情况下,preloadingStrategy异步处于角度状态吗?

时间:2019-01-09 08:51:37

标签: angular angular-router

实施预载策略-

...

const routes: Routes = [
  {
    path: 'welcome',
    component: 'WelcomeComponent'
  },
  {
    path: 'home',
    canActivate: [AuthGuard],
    data: { preload: true },
    loadChildren: '@app/post-login/post-login.module#PostLoginModule'
  },
  { path: '', redirectTo: '/welcome', pathMatch: 'full' },
  { path: '**', component: PageNotFoundComponent }
];
...
...
    RouterModule.forRoot(routes, { preloadingStrategy: SelectiveStrategy })
...

在上面的代码中,我们正在/ home路径上延迟加载PostLoginModule。另外,我们正在实施自定义预加载策略。 (类似于角度指南中的那个。)

选择性策略的实施-

...
@Injectable()
export class SelectiveStrategy implements PreloadingStrategy {
  preload(route: Route, load: Function): Observable<any> {
    if (route.data && route.data['preload']) {
      return load();
    }
    return of(null);
  }
}

在SelectiveStrategy中,我们检查route.data.preload。如果将其设置为true,则我们调用load()。否则返回of(null)

在上述实现中,是否在初始页面加载中加载了PostLoginModule?还是在初始页面在后台异步加载后的某个时间加载?

对此,角向导不是很清楚。我看到很少的博客说它将在初始页面加载后在后台异步加载。但是在角度文档中是否有提及?

0 个答案:

没有答案