使用forwardRef时,angular2 + tslint显示“声明前使用的变量xxx”

时间:2019-01-02 02:21:57

标签: angular angular6 tslint

我正在使用'forwardRef'编写Costom表单组件。它可以工作,但是在运行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]
})

1 个答案:

答案 0 :(得分:1)

要解决此问题,您可以在TSLINT json文件上设置 "no-use-before-declare": false

来自 Docs

  

该规则在使用var关键字时主要有用,因为   编译器将自动检测是否有块作用域的let和const   变量在声明之前使用。由于最现代的TypeScript   不使用var,通常不建议使用此规则,   用于传统目的。计算速度慢,未在   内置的配置预设,不应用于通知   TSLint设计决策。