我具有以下地址表格部分。我想从中继承,继承其所有ngOnit,ngOnchanges,其所有方法等。唯一的事情是,想对所有变量加上“ POBox”进行重命名,这是怎么做的?尝试次数低于,
export class AddressFormComponent implements OnInit {
public standardSub = new Subscription();
private cdr: ChangeDetectorRef;
constructor(
@Input() public standardFormInput = new AddressMailingData(),
@Output() private standardFormChange = new EventEmitter<any>(),
public addressMailingStandardFormModel: any = new AddressMailingStandardFormModel(),
public editAddressForm = addressMailingStandardFormModel.editAddressForm
) {
}
新组件:
export class AddressMailingPOBoxComponent extends AddressFormComponent implements OnInit{
constructor(standardFormInputPOBox: AddressMailingData,
standardFormChangePOBox: EventEmitter<any>,
addressMailingStandardFormModelPOBox: AddressMailingStandardFormModel,
editAddressFormPOBox: FormGroup
){
super(standardFormInput2, standardFormChange2, addressMailingStandardFormModel2, editAddressForm2);
}
}
接收错误:
compiler.js:2420未捕获的错误:无法解析AddressFormComponent的所有参数:(?,?,?,?)。
发生该错误的原因是,您试图在AddressMailingPOBoxComponent
之类的模板中使用<address-mailing-POBox></address-mailing-POBox>
?如果是这样,那么该错误是因为Angular使用依赖项注入来填充构造函数参数,并且需要知道您认为我认为不是标准Providers
组件或服务的所有输入参数的@Injectable
。 >
至少要消除该错误,请不要在构造函数参数中定义并传递这些属性。在类本身的外部定义它们,然后按所需的方式对其进行初始化。
您最终可以实现的是在子类,子属性和基类中同时具有BOTH属性。您可以将子属性指向相应的基础属性,以便这些属性指向相同的数据/对象,但是由于您的问题注释中提到的原因,您不能重命名
基础类属性本身-我不知道认为您可以使用任何编程语言进行这样的重命名。 (对吗?)