簡體   English   中英

如何在打字稿中反轉布爾值“ false”(ionic3和cordova)

[英]How to Invert boolean 'false' in typescript (ionic3 and cordova)

我在應用程序中存在一個與布爾值倒置有關的意外問題。

環境:我有一個應用程序,使用Ionic 3用Typescript編寫,並在Cordova的幫助下將其部署在android設備上。

  • Android API 25
  • 科爾多瓦版本:7.0.1
  • “ @ angular / core”:“ 4.1.0”
  • “離子角”:“ 3.2.1”
  • “ @ ionic / cli-plugin-cordova”:“ ^ 1.2.1”
  • 打字稿2.3.3

問題:我只是想反轉一個布爾值,如下面的console.log示例所示:

console.log('Clazz: ', clazz.name, ' : ', clazz.boolValue, ' : ', !clazz.boolValue)

輸出:

Clazz:  A  :  true  :  false
Clazz:  B  :  true  :  false
Clazz:  C  :  true  :  false
Clazz:  D  :  false  :  false
Clazz:  E  :  false  :  false
Clazz:  F  :  false  :  false

因此,“ true”取反,但“ false”保持相同的值。 因此,我在Angular中的* ngIf指令無法按預期工作。

問題:我做錯什么了嗎? 還是只是發生了我正在使用的組合軟件版本一起出現故障?

這只是一個猜測,但可能是一個不錯的猜測,我認為您的clazz.boolValue在運行時可能是字符串而不是布爾值。 這將描述您所看到的行為。

!'true' // evaluates to boolean value false
!'false' // also evaluates to boolean value false

嘗試

console.log('Clazz: ', clazz.name, ' : ', clazz.boolValue, '|', typeof clazz.boolValue, ' : ', !clazz.boolValue) 

確認。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM