加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular – 类型’string’不能赋值为’boolean’

发布时间:2020-12-17 07:22:48 所属栏目:安全 来源:网络整理
导读:Angular 4.3.1 Angular CLI 1.2.3 打字稿2.3.4 组件手稿文件: public saveName: string;public overwrite: boolean; 以下标记失败,当我运行build -prod时,类型’string’不能赋值为’boolean’ span{{!overwrite || saveName}}/spanORbutton *ngIf="!overwr
Angular 4.3.1
Angular CLI 1.2.3
打字稿2.3.4

组件手稿文件:

public saveName: string;
public overwrite: boolean;

以下标记失败,当我运行build -prod时,类型’string’不能赋值为’boolean’

<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>

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

尝试* ngIf =“!overwrite&& !! saveName”将saveName强制转换为布尔值

TypeScript为错误提供的原因大致是:您使用的字符串应该使用布尔值.

我认为它只发生在那种情况下的原因是因为如果你有真的||任何东西只会评估第一个(因为如果第一个是真的,整个表达式都将为真,无论其余的是什么)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读