[英]ActivatedRoute.routeConfig is null - Angular 2 project with Angular-cli
我使用angular-cli
创建了2个不同的项目。 两者都可以正常工作,但是其中一个中的routeConfig
为null
并且routeConfig
什么问题。
这两个文件的package.json
相同,因此对于软件包版本毫无疑问, app.modules
文件也相同。
这是我在两个项目中获取routeConfig
:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
constructor(
private router: ActivatedRoute
) { }
ngOnInit(): void {
console.log(this.router.routeConfig);
}
}
我的实现有什么问题?
经过一些努力并查看了我的代码之后,我发现了这两个应用程序之间的主要区别,这是在模板部分。
工作时间:home.component.html
<div class="container bg">
<div class="row">
<div class="col-lg-3">
<div class="sidebar">
<app-sidebar></app-sidebar>
</div>
</div>
<div class="col-lg-9">
<div class="content-bar">
<!-- Body -->
<p>
home works!
</p>
<!-- /body -->
</div>
</div>
</div>
</div>
何时不起作用:app.component.html
<div class="container bg">
<div class="row">
<div class="col-lg-3">
<div class="sidebar">
<!-- <app-sidebar></app-sidebar> -->
</div>
</div>
<div class="col-lg-9">
<div class="content-bar">
<!-- Body -->
<router-outlet></router-outlet>
<!-- /body -->
</div>
</div>
</div>
</div>
应该注意的是sidebar.component.ts
内部的ActivatedRoute
为NULL
。
如果答案不够清楚,请随时在评论中提及,我将对其进行更新。
更新:根据@alterfox的要求,提供了以下说明:
当我在与<router-outlet>
相同的xxx.component.html
调用<app-sidebar>
时, routeConfig
没有获得任何值,因此我按上述方式更改了代码并将<app-sidebar>
移至一个级别深入home.component.html
,这意味着我必须在每个xxx.component.html
调用它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.