没有简单组件的提供者
No provider for simple component
直到 5 分钟前它还在工作才有意义...
这是组件
import { Component, OnInit } from '@angular/core';
import {Osobaa} from '../osobaa';
import { Osoba } from '../osoba';
import {OsobaService} from '../osoba.service';
@Component({
selector: 'app-form-add',
templateUrl: './form-add.component.html',
styleUrls: ['./form-add.component.css']
})
export class FormAddComponent implements OnInit {
osoba : Osobaa;
constructor() { }
ngOnInit() { }
}
这是主要的 app.module.ts
import { BrowserModule } from "@angular/platform-browser";
import { NgModule } from "@angular/core";
import {FormsModule} from "@angular/forms";
import { AppComponent } from "./app.component";
import { HeaderComponent } from "./header/header.component";
import { LoginFormComponent } from "./login-form/login-form.component";
import { FooterComponent } from "./footer/footer.component";
import { DashboardComponent } from "./dashboard/dashboard.component";
import { RouterModule, Routes } from "@angular/router";
import {UserService} from './user.service';
import {AuthguardGuard} from './authguard.guard';
import { UserComponent } from "./user/user.component";
import { NotfoundComponent } from './notfound/notfound.component';
import { TableViewComponent } from './table-view/table-view.component';
import {HttpClientModule} from '@angular/common/http';
import {OsobaService} from './osoba.service';
import { HttpModule } from '@angular/http';
import { FormAddComponent } from './form-add/form-add.component';
const appRoutes: Routes = [
{
path: "",
component: LoginFormComponent
},
{
path: "add" ,
component: FormAddComponent
},
{
path: "table", component : TableViewComponent
},
{
path: "users/:name",
component : UserComponent
},
{
path: "dashboard",
canActivate:[AuthguardGuard],
component: DashboardComponent
},
{
path: '**',
component: NotfoundComponent
}
];
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
LoginFormComponent,
FooterComponent,
DashboardComponent,
UserComponent,
NotfoundComponent,
TableViewComponent,
FormAddComponent
],
imports: [BrowserModule, RouterModule.forRoot(appRoutes),HttpModule,FormsModule],
providers: [UserService,AuthguardGuard,HttpClientModule,OsobaService],
bootstrap: [AppComponent]
})
export class AppModule {}
控制台错误是:
错误错误:未捕获(承诺):错误:StaticInjectorError [FormAddComponent]:
StaticInjectorError [FormAddComponent]:
NullInjectorError:没有 FormAddComponent 的提供者!
错误:StaticInjectorError [FormAddComponent]:
StaticInjectorError [FormAddComponent]:
NullInjectorError: 没有 FormAddComponent 的提供者!
从 providers
中删除 HttpClientModule
模块,它应该放在 NgModule
的 imports
选项中。也尝试重新构建/重新运行 application.
可能您正在尝试将组件作为可注入的注入到服务中。
直到 5 分钟前它还在工作才有意义... 这是组件
import { Component, OnInit } from '@angular/core';
import {Osobaa} from '../osobaa';
import { Osoba } from '../osoba';
import {OsobaService} from '../osoba.service';
@Component({
selector: 'app-form-add',
templateUrl: './form-add.component.html',
styleUrls: ['./form-add.component.css']
})
export class FormAddComponent implements OnInit {
osoba : Osobaa;
constructor() { }
ngOnInit() { }
}
这是主要的 app.module.ts
import { BrowserModule } from "@angular/platform-browser";
import { NgModule } from "@angular/core";
import {FormsModule} from "@angular/forms";
import { AppComponent } from "./app.component";
import { HeaderComponent } from "./header/header.component";
import { LoginFormComponent } from "./login-form/login-form.component";
import { FooterComponent } from "./footer/footer.component";
import { DashboardComponent } from "./dashboard/dashboard.component";
import { RouterModule, Routes } from "@angular/router";
import {UserService} from './user.service';
import {AuthguardGuard} from './authguard.guard';
import { UserComponent } from "./user/user.component";
import { NotfoundComponent } from './notfound/notfound.component';
import { TableViewComponent } from './table-view/table-view.component';
import {HttpClientModule} from '@angular/common/http';
import {OsobaService} from './osoba.service';
import { HttpModule } from '@angular/http';
import { FormAddComponent } from './form-add/form-add.component';
const appRoutes: Routes = [
{
path: "",
component: LoginFormComponent
},
{
path: "add" ,
component: FormAddComponent
},
{
path: "table", component : TableViewComponent
},
{
path: "users/:name",
component : UserComponent
},
{
path: "dashboard",
canActivate:[AuthguardGuard],
component: DashboardComponent
},
{
path: '**',
component: NotfoundComponent
}
];
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
LoginFormComponent,
FooterComponent,
DashboardComponent,
UserComponent,
NotfoundComponent,
TableViewComponent,
FormAddComponent
],
imports: [BrowserModule, RouterModule.forRoot(appRoutes),HttpModule,FormsModule],
providers: [UserService,AuthguardGuard,HttpClientModule,OsobaService],
bootstrap: [AppComponent]
})
export class AppModule {}
控制台错误是:
错误错误:未捕获(承诺):错误:StaticInjectorError [FormAddComponent]: StaticInjectorError [FormAddComponent]: NullInjectorError:没有 FormAddComponent 的提供者! 错误:StaticInjectorError [FormAddComponent]: StaticInjectorError [FormAddComponent]: NullInjectorError: 没有 FormAddComponent 的提供者!
从 providers
中删除 HttpClientModule
模块,它应该放在 NgModule
的 imports
选项中。也尝试重新构建/重新运行 application.
可能您正在尝试将组件作为可注入的注入到服务中。