我有一个共享服务文件,该文件定义了一个类似于以下内容的变量:
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
有什么想法我在做什么错吗?
答案 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