如何在打字稿(ionic3 和 cordova)中反转布尔值 'false'
How to Invert boolean 'false' in typescript (ionic3 and cordova)
我在应用程序中反转布尔值时遇到了一些意外问题。
环境:
我有一个应用程序,用 Ionic 3 用打字稿编写,我在 cordova 的帮助下将它部署在 android 设备上。
- Android API 25
- 科尔多瓦版本:7.0.1
- "@angular/core": "4.1.0"
- "ionic-angular": "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-Directives 无法按预期工作。
问题:
我做错了什么吗?还是只是碰巧,我使用的组合软件版本确实存在故障?
这只是一个猜测,但它可能是一个不错的猜测,我认为您的 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)
确认。
我在应用程序中反转布尔值时遇到了一些意外问题。
环境: 我有一个应用程序,用 Ionic 3 用打字稿编写,我在 cordova 的帮助下将它部署在 android 设备上。
- Android API 25
- 科尔多瓦版本:7.0.1
- "@angular/core": "4.1.0"
- "ionic-angular": "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-Directives 无法按预期工作。
问题: 我做错了什么吗?还是只是碰巧,我使用的组合软件版本确实存在故障?
这只是一个猜测,但它可能是一个不错的猜测,我认为您的 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)
确认。