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