我有一个关于Angular 6依赖注入的知识问题。
场景如下:
单个类(用作模型):
import { NgModule } from '@angular/core';
import { ContactProviderService } from './../services/contact-provider.service';
import { SuiviInterface } from './../interfaces/suiviinterface';
import { WebapiService } from './../services/webapi.service';
import { QuotationInterface } from './../interfaces/quotationinterface';
import { DeserializableInterface } from './../interfaces/deserializableinterface';
import { MomentDate } from './momentdate';
import { User } from './user';
import { Feature } from './feature';
import { Suivi } from './suivi';
@NgModule({
providers: [
WebapiService,
ContactProviderService
]
})
export class Quotation implements QuotationInterface, DeserializableInterface<Quotation> {
public id: number;
public date: MomentDate;
public user: User;
public feature: Feature;
public dateValidation?: MomentDate;
public dateProposition?: MomentDate;
public dateAcceptation?: MomentDate;
public isArchive: Boolean;
public isDeleted: Boolean;
public numParcelle: string;
public commentaire: string;
public lead?: string;
public suivi: Array<Suivi>;
public propositionDone: boolean = false;
private nbAttributions: number = 0;
private nbPropositions: number = 0;
public constructor(
private webApi: WebapiService,
private contactProvider: ContactProviderService) {
this.dateValidation = null;
}
... some getters / setters
public deserialize(input: any): Quotation {
Object.assign(this, input);
// some other stuff
return this;
}
}
}在这个类中,WebapiService和ContactProviderService都是可注入的,因此,我认为将它们注入到类的contuctor中是自给自足的。
我添加了@NgModule来尝试...但是当我创建一个Quotation的实例时,会出现以下错误:
Expected 2 arguments but got 0我哪里做错了?
Thx
Jean-Luc
发布于 2018-06-26 02:27:57
我认为这是因为您缺少@Component Decorator,然后您可以在其中提供您的服务,如果它们是该组件所特有的。(如果在组件中声明,则不会与整个应用程序共享)
@Component({
selector: 'some-selector',
templateUrl: ['./'],
stylesUrl: ['./'],
providers:[ WebapiService, ContactProviderService ]
})https://stackoverflow.com/questions/51028774
复制相似问题