该问题是由于TypeScript升级到3.8版本时,隐式类型any限制导致的。在指令中,$implicit用于获取数据源中的值,而TypeScript会自动推断其类型。为了解决这个问题,我们可以在指令中手动指定$implicit的类型为any,代码示例如下:
import { Directive, Input } from '@angular/core';
@Directive({
selector: '[someDirective]'
})
export class SomeDirective {
@Input() someDirectiveInput: any;
constructor() {}
someMethod() {
// some code
}
}
在指令中使用$implicit时也需要将其类型设置为any,如下所示: