延迟加载角上的解析器

时间:2018-11-17 00:10:51

标签: angular lazy-loading angular-resolver

有没有办法在加载延迟加载模块之前添加解析器?我试图将resolve添加到路由配置中,但是没有触发,也没有发现任何有用的东西。任何帮助将不胜感激

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
// services
import {SecondResolverService} from "./second.resolver.service";

const routes: Routes = [
  { path: 'first' , loadChildren: './first/first.module#FirstModule' },
  { path: 'second', loadChildren: './second/second.module#SecondModule' ,resolve : {data : SecondResolverService}}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

2 个答案:

答案 0 :(得分:2)

Angular docs on lazy loading

此配置始终对我有用。 如果这不起作用,则您的解析器可能有问题。

int main() {

    int numCase;
    cin >> numCase;
    std::vector<string> s(numCase);
    for (int i = 0; i < numCase; i++) {
        cin >> s[i];
//...

答案 1 :(得分:1)

我遇到了同样的问题。这是Angular 9中Stackblitz.com中此问题的示例

https://stackblitz.com/edit/angular-ivy-ubes1q?file=src%2Fapp%2Fapp.module.ts

ChildResolver在延迟加载的路由上设置,但从未被调用。


我的解决方法是在警卫队内部制作一个“ lazyResolver”。

"INNER"中是这样的:

data.guard.ts

}