Конструктор компонента Angular2 не вызван - PullRequest
1 голос
/ 24 октября 2019

конструктор моего демонстрационного компонента приложения не был вызван при запуске приложения:

демонстрационный компонент:

@Component({
  selector: 'app-demo-page',
  templateUrl: './index.component.html',
  styleUrls: ['./index.component.css']
})
export class DemoComponent implements OnInit {

  constructor() {
    console.log('constructor run');
  }

  ngOnInit() {
    console.log('oninit run');
  }
}

модуль маршрутизации:

const routes: Routes = [
  {
    path: 'demo',
    component: DemoComponent ,
    resolve: {
      data: DemoResolverService
    }
  },
  {
    path: '',
    component: AppComponent
  }
];

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

служба распознавания:

@Injectable({
  providedIn: 'root'
})
export class DemoResolverService implements Resolve<SomeData> {
  constructor(private logic: demoService) {}

  resolve(): Observable<SomeData> {
    console.log('dataresolver run');

    return this.logic.getAll();
  }
}

Конструктор службы распознавателя успешно запущен, и перед навигацией он также вызывается. Но компонент не конструктор не работает. Есть ли идея, почему его перестают работать? Спасибо

1 Ответ

2 голосов
/ 24 октября 2019

Добавить <router-outlet></router-outlet> в app.component.html

Рабочая демонстрация

Маршрутизатор-выход в угловыхработает как заполнитель, который используется для динамической загрузки различных компонентов на основе активированного компонента или текущего состояния маршрута

...