0

我正在开发一个 Angular 4 应用程序,我有两个模块,第一个模块封装了一些我需要在其他模块中使用的功能。例如,我有第一个名为 SRModule 的模块,我已经导入了 SrCrComponent 组件:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; 

// module imports
import { SrCrComponent} from './sr-cr';

@NgModule({
  imports: [
    CommonModule
  ],
  exports: [
    SrCrComponent
  ],
  declarations: [
    SrCrComponent
  ]
})
export class SRModule {}

我想在另一个模块的其他组件中使用 SrCrComponent,但我可以弄清楚如何使用。

在我的第二个模块 ReportsModule 中,我在其上导入了 SRModule

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { CPComponent } from './cp/cp.component';
import { SRModule } from "../sr-module/sr.module";

@NgModule({
  imports: [
    CommonModule,
    SRModule
  ],
  declarations: [
    CPComponent
  ]
})
export class ReportsModule { }

我的问题是,如何使用在 ReportsModule 的 CPComponent 中声明的 SrCrComponent 组件?

这是我的 CPComponent ts 文件:

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'app-chart-period',
  templateUrl: './chart-period.component.html',
  styleUrls: ['./chart-period.component.css']
})
export class CPComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }
}

在我的 CPComponent html 中,我有一个 sr-gg 组件但不起作用,

<h2> Bar Chart</h2>
<sr-gg></sr-gg>

显然在ReportsModule'sr-g' is not a known element中,事实上,这是控制台向我显示的错误,但我不知道我需要在哪里声明或者在导入 SrCrComponen 时应该继承它。

4

1 回答 1

2

ReportsModule 导入 SRModule,从而从 SRModule 中导入导出中指出的所有内容: [] 在您的情况下是 SrCrComponent。我假设 CpComponent 应该是 ReportsModule 的一部分,即 CpComponent 应该在声明中提及:[] 表示 ReportsModule。你提到 sr-gg 作为一个组件,所以如果应该在 SrModule 中声明,那么导出应该看起来像导出:[SrCrComponent, SrGGComponent]

 @NgModule({
      imports: [
         CommonModule
      ],
      exports: [
         SrCrComponent, SrGGComponent
      ],
      declarations: [
        SrCrComponent, SrGGComponent
      ]
})
export class SRModule {}

    @NgModule({
      imports: [
        CommonModule,
        SRModule
      ],
      declarations: [
        ReportsComponent,
        ChartPeriodComponent,
        ChartSegmentationComponent,
        CpComponent
      ]

})

export class ReportsModule { }

然后它应该工作

于 2017-04-07T22:30:19.057 回答