请考虑以下代码:
import { Component } from '@angular/core';
import { CdkStepper } from '@angular/cdk/stepper';
@Component({
selector: 'stepper-form',
templateUrl: './stepper-form.component.html',
styleUrls: ['./stepper-form.component.scss'],
providers: [{ provide: CdkStepper, useExisting: StepperFormComponent }]
})
export class StepperFormComponent extends CdkStepper {
constructor(){
super();
}
}
经过一些研究,我发现我需要使用super()
功能。当我在我的情况下使用它时,请参阅上面的cpde,我收到一个错误:
预期 2-4 个参数,但得到 0。
在这种情况下,我需要使构造函数工作的 2-4 个参数是什么?
只需添加:
constructor(
dir: Directionality,
changeDetectorRef: ChangeDetectorRef,
) {
super(dir, changeDetectorRef);
}
https://github.com/angular/components/blob/master/src/cdk/stepper/stepper.ts
我假设卡罗琳娜查找了构造函数,第 330 行。
这意味着所需的导入是:
import {Directionality} from '@angular/cdk/bidi';
import {ChangeDetectorRef} from '@angular/core';