繁体   English   中英

ActivatedRoute.routeConfig为null-具有Angular-cli的Angular 2项目

[英]ActivatedRoute.routeConfig is null - Angular 2 project with Angular-cli

我使用angular-cli创建了2个不同的项目。 两者都可以正常工作,但是其中一个中的routeConfignull并且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内部的ActivatedRouteNULL

如果答案不够清楚,请随时在评论中提及,我将对其进行更新。

更新:根据@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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM