angular - Angular2 component constructor didn't called
问题描述
my demo app component's constructor did not called at app start:
demo component:
@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');
}
}
routing module:
const routes: Routes = [
{
path: 'demo',
component: DemoComponent ,
resolve: {
data: DemoResolverService
}
},
{
path: '',
component: AppComponent
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
resolver service:
@Injectable({
providedIn: 'root'
})
export class DemoResolverService implements Resolve<SomeData> {
constructor(private logic: demoService) {}
resolve(): Observable<SomeData> {
console.log('dataresolver run');
return this.logic.getAll();
}
}
The resolver service constructor run successfully, and before navigation its called too. But the component not constructor not running. Is there any idea why its stop working? Thanks
解决方案
添加<router-outlet></router-outlet>
app.component.html
Angular 中的Router-outlet用作占位符,用于根据激活的组件或当前路由状态动态加载不同的组件
推荐阅读
- content-management-system - Open Journal System 版本降级
- javascript - React Material-UI 在 DataGrid 中添加链接
- angular - Angular Universal - 手动输入 URL 时加载时间长
- android - 如何在新 API 中重新加载奖励广告?
- python - 如何在 Python 中对名称实体识别 (NER) 模型和 pyspark 的实现代码进行单元测试?
- css - @font face,调用字体系列适用于一个类,但不适用于另一个类,为什么?
- flutter - 使用http包中的get方法时Flutter抛出错误
- python - 将 GPT-2 转换为 ONNX 和 TF.js 后,TF SavedModel 具有固定的输入大小
- javascript - 我们如何在 Laravel 中嵌入“文本编辑器”(任何编辑器),这将帮助我们一次存储多个图像
- build - 如何根据缺少/存在的全局环境跳过/触发 Travis 阶段?