我使用'forwardRef‘来编写自定义表单组件。它可以工作,但在运行ng lint时,会显示“在声明之前使用的变量FormMultiInputComponent”。那么如何避免这一错误呢?
export const EXE_COUNTER_VALUE_ACCESSOR: any = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => FormMultiInputComponent),
multi: true
};
@Component({
selector: 'cmss-form-multi-input',
templateUrl: './form-multi-input.component.html',
styleUrls: ['./form-multi-input.component.scss'],
providers: [EXE_COUNTER_VALUE_ACCESSOR]
})
发布于 2019-01-01 18:23:26
要解决此问题,可以在TSLINT文件上设置"no-use-before-declare": false
。
来自文档
这个规则在使用var关键字时主要是有用的,因为编译器将自动检测在声明之前是否使用了块作用域的let和const变量。由于大多数现代TypeScript不使用var,因此通常不鼓励使用此规则,并保留此规则用于遗留目的。计算速度慢,在内置配置预置中未启用,不应用于通知TSLint设计决策。
https://stackoverflow.com/questions/54000528
复制