Angular - 类型“string”不可分配给类型“boolean”

2023-12-24

角度 4.3.1
角度 CLI 1.2.3
打字稿 2.3.4

组件打字稿文件:

public saveName: string;
public overwrite: boolean;

以下标记失败并显示类型“string”不可分配给类型“boolean”当我跑步时ng build --prod

<span>{{!overwrite || saveName}}</span>

OR

<button *ngIf="!overwrite && saveName">Save</button>

但是,它适用于以下情况:

<span>{{saveName || !overwrite}}</span>
<span>{{overwrite || saveName}}</span>
<button *ngIf="saveName && !overwrite">Save</button>
<button *ngIf="overwrite && saveName">Save</button>

为什么我会收到这个错误?
更具体地说,为什么只有当我在字符串之前有一个否定的布尔值时才会出现该错误?


Try *ngIf="!overwrite && !!saveName"铸造saveName为布尔值

TypeScript 给出的错误原因大致是:您正在使用字符串,而您应该使用布尔值。

我认为它只发生在那种情况下的原因是因为如果你有true || anything仅对第一个进行求值(因为如果第一个为 true,则无论其余表达式如何,整个表达式都将为 true)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular - 类型“string”不可分配给类型“boolean” 的相关文章

随机推荐