运营商&= 39; =='不能应用于类型'数字'和'字符串'

时间:2017-09-15 05:56:13

标签: angular typescript

我在使用--aot编译代码时遇到此错误。没有--aot它会忽略此错误。

这是我收到此错误的行

<h2 class="inquiry-title" *ngIf="(summaryData.Title != undefined || summaryData.Title != null)">
    {{summaryData.Title}}
</h2>

请告诉我我做错了什么?

3 个答案:

答案 0 :(得分:5)

undefined和null在javascript中都是假的,你只需这样做:

SELECT *

答案 1 :(得分:0)

在搜索了几次后,我们知道当你将一种类型与AOT的其他类型进行比较时,它会产生错误,因为它在构建时编译。

所以我改变了变量类型并且它有效。我知道这是一个错误,但在用AOT编译代码之前你不会有任何想法,因为在开发时你通常不会使用AOT。

例如:     myVar1:数;     myVar2:字符串;

并在组件html中,如果你想比较它,

 *ngIf="myVar1 == myVar2"
 *ngIf="myVar1 == '0'"

它会给Operator '==' cannot be applied to types 'number' and 'string'

答案 2 :(得分:0)

用来声明变量       喜欢 :-        var ActualVal:any =“”;