angular – Uncaught(in promise):错误:没有String的提供者

前端之家收集整理的这篇文章主要介绍了angular – Uncaught(in promise):错误:没有String的提供者前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是angular2的新手,我遇到了这个错误.
我有这样的课
@Injectable()
export class VehicleDetails {
    constructor(private policynumber: string,private vinnumber: string) {
        this.policyNumber = policynumber,this.vinNumber = vinnumber
    }
    policyNumber: string;
    vinNumber: string;
}

和另一个这样的课

export class Policy {
    constructor() {
    }
    emailAddress: string;
    vehicleDetails: VehicleDetails[]
}

我已经在这样的模块中导入了我的课程

import { Policy } from './models/Policy';
import { VehicleDetails } from './models/VehicleDetails';
@NgModule({
  declarations: [
    LienholderComponent,AppComponent,PolicyVehicleComponent
  ],imports: [
    RouterModule.forRoot(
      APP_ROUTES,{ enableTracing: true } // <-- debugging purposes only
    ),BrowserModule,FileUploadModule,ReactiveFormsModule,HttpModule
  ],providers: [Policy,VehicleDetails],bootstrap: [AppComponent]
})
export class AppModule { }

当我在VehicleDetails类中注释我的构造函数时一切正常,但是当我使用构造函数时,我开始得到这个错误.
如何解决这个错误,我在构造函数中有两个字符串参数,因为我想动态添加值.

我的错误就是这个

What i want to achieve constructing the VehicleDetails class like this
is

this.policy.emailAddress='email@test.com';
    this.policy.vehicleDetails.push(new VehicleDetails('valueA1','valueA2'));
    this.policy.vehicleDetails.push(new VehicleDetails('valueB1','valueB2'));
    this.policy.vehicleDetails.push(new VehicleDetails('valueC1','valueC2'));

所以,我动态获取值,我想将值绑定到模型,如上面的代码所述

DI无法创建VehicleDetails的实例,因为它没有任何关于私有policynumber传递的信息:string,private vinnumber:string

你可以做的是使用@Inject()装饰器

constructor(@Inject('policy') private policynumber: string,@Inject('vin') private vinnumber: string) {

并提供像这样的值

providers: [Policy,VehicleDetails,{provide: 'policy',useValue: 'abc'},{provide: 'vin',useValue: 'def'}],

猜你在找的Angularjs相关文章