【发布时间】:2019-01-16 11:47:15
【问题描述】:
我是 angular6 的新手,当我将参数从组件发送到服务时,我得到 StaticInjectorError。怎么了?
我的代码是这样的 组件:
import { Component, Input, OnInit } from '@angular/core';
import { myService } from '../../@core/data/myService';
@Component({
selector: 'table',
templateUrl: './table.component.html'
})
export class TableComponent implements OnInit {
constructor(private service: myService) {
}
ngOnInit() {
this.service = new myService ("name");
}
服务:
import { Injectable, Inject } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { DataService } from './data.service';
@Injectable() export class myService {
constructor(
entityName: string,
) {
console.log(entityName);
}
}
app.module.ts:
import { myService } from './@core/data/myService '
import { TableModule } from './pages/table/table.module';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
AppRoutingModule,
NgbModule.forRoot(),
ThemeModule.forRoot(),
CoreModule.forRoot(),
],
bootstrap: [AppComponent],
providers: [
myService,
TableModule
],
})
export class AppModule {
}
错误信息: ProductsComponent.html:1 ERROR 错误:StaticInjectorError(AppModule)[BDBaseService -> String]: StaticInjectorError(平台:核心)[BDBaseService -> 字符串]: NullInjectorError:没有字符串的提供者! 在 NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:979) 在 resolveToken (core.js:1232) 在 tryResolveToken (core.js:1182) 在 StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1077) 在 resolveToken (core.js:1232) 在 tryResolveToken (core.js:1182) 在 StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1077) 在 resolveNgModuleDep (core.js:9238) 在 _createClass (core.js:9283) 在 _createProviderInstance$1 (core.js:9255)
【问题讨论】:
-
显示 app.module.ts 文件。
标签: typescript dependency-injection frontend angular6 web-frontend