角度2:“预期操作员为相似类型或任何其他类型”掉毛错误

时间:2018-08-07 22:03:49

标签: angular typescript eslint

我有一个共享服务文件,该文件定义了一个类似于以下内容的变量:

export class SharedService {
    activeModal: String;
}

然后我有一个导入服务并定义它的组件文件:

constructor(public sharedService: SharedService) {
}

在该组件的模板文件中,我检查模态的值:

<div *ngIf="sharedService.activeModal === 'login'"></div>

一切正常,但是在编辑器中,sharedService.activeModal ==='login'部分的下面有一条红色的蠕动线,将鼠标悬停在上面会显示此掉毛错误:

[Angular] Expected the operants to be of similar type or any
property sharedService of ModalComponent

有什么想法我在做什么错吗?

3 个答案:

答案 0 :(得分:4)

string的声明中尝试使用小写的String(原始类型,而不是包装对象类型activeModal)。

答案 1 :(得分:1)

对于那些具有相同错误但解决方案不适用于您的对象,请确保您未将枚举与字符串进行比较,如果是这样,请为您的类添加一个成员并将其分配给它,这样您就可以:

class LalaComponent {
  someEnum = SomeEnum;
  randomValue: SomeEnum;
}

和html

<ng-container *ngIf="randomValue === someEnum.option1" >
</ng-container>

答案 2 :(得分:0)

如果要添加其他类型,可以设置删除以后的错误

activeModal: any