首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 2:“期望操作符具有相似的类型或任何”线条错误

Angular 2:“期望操作符具有相似的类型或任何”线条错误
EN

Stack Overflow用户
提问于 2018-08-08 06:03:49
回答 3查看 10.5K关注 0票数 9

我有一个共享服务文件,它定义了一个变量,如下所示:

代码语言:javascript
复制
export class SharedService {
    activeModal: String;
}

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

代码语言:javascript
复制
constructor(public sharedService: SharedService) {
}

在组件模板文件中,我检查了mode值:

代码语言:javascript
复制
<div *ngIf="sharedService.activeModal === 'login'"></div>

一切正常,但在编辑器中,sharedService.activeModal === 'login‘部分get的下方有一条红色曲折线条,将鼠标悬停在其上会显示以下代码错误:

代码语言:javascript
复制
[Angular] Expected the operants to be of similar type or any
property sharedService of ModalComponent

你知道我做错了什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-09 04:18:50

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

票数 19
EN

Stack Overflow用户

发布于 2019-09-04 18:20:52

对于那些有相同错误但解决方案不适用于您的人,请确保您没有将枚举与字符串进行比较,如果是这样,请为您的类创建一个成员,并将枚举分配给它,这样您将拥有:

代码语言:javascript
复制
class LalaComponent {
  someEnum = SomeEnum;
  randomValue: SomeEnum;
}

和html格式

代码语言:javascript
复制
<ng-container *ngIf="randomValue === someEnum.option1" >
</ng-container>
票数 1
EN

Stack Overflow用户

发布于 2019-02-12 01:18:24

如果要添加额外的类型,可以将设置为移除任何将来的错误

代码语言:javascript
复制
activeModal: any 
票数 -8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51736051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档