将组件导入角度7中的另一个组件时出错

时间:2019-05-23 09:18:38

标签: angular import components angular7 angularjs-injector

每次我尝试将一个组件导入另一个组件(它们不是同级组件)时,我都会在控制台上收到此错误:

...
ERROR Error: "StaticInjectorError(AppModule)[LogsTableComponent -> FilterBarComponent]: 
StaticInjectorError(Platform: core)[LogsTableComponent -> FilterBarComponent]: 
NullInjectorError: No provider for FilterBarComponent!"
...

这是我的app.module.ts文件:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
import { LogsTableComponent } from './components/logs-table/logs- 
table.component';
import { FilterBarComponent } from './components/filter-bar/filter- 
bar.component';
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
import { HttpClientTestService } from './http-client-test.service';

@NgModule({
  declarations: [
    AppComponent,
    FilterBarComponent,
    LogsTableComponent,
  ],

  imports: [
    BrowserModule,
    // HttpClientModule should be imported after BrowserModule.
    HttpClientModule,

    BsDatepickerModule.forRoot()

  ],
  providers: [HttpClientTestService],
  bootstrap: [AppComponent]
})
export class AppModule { }

任何人都可以帮助我知道为什么会发生此错误以及如何解决该错误。

2 个答案:

答案 0 :(得分:1)

这可能是关键词:“没有为FilterBarComponent提供程序!” 。 我想,您应该将FilterBarComponent添加到“ AppModule”文件中的“ imports / providers(?)”数组中。

答案 1 :(得分:0)

您需要import文件中的app.module.ts FilterBarComponent,还需要在declaration的{​​{1}}部分中添加FilterBarComponent才能使用该组件。