Smi*_*thy 0 javascript typescript angular
我正在想一种更简洁的方式来写这个条件:
[ngClass]="{
'class1':
image.isAvailable && (image.property !== true && !null),
'class2':
image.isAvailable && (image.property === true && !null)
}"
Run Code Online (Sandbox Code Playgroud)
所以 image.property 有时可能为 NULL,我正在尝试处理它......我知道我错过了一些明显的东西,但不知道是什么。非常感谢任何帮助
您可以将安全导航运算符?.与三元运算符一起使用。
[ngClass]="(image?.isAvailable && image?.property) ? 'class1' : 'class2'"
Run Code Online (Sandbox Code Playgroud)
安全导航操作符会在尝试访问某个属性之前检查它是否已定义。
OP 的要求 - 如果image?.isAvailable未定义,则不使用任何类。
您可以将三元运算符扩展到一个级别,以image?.isAvailable在应用类之前检查是否已定义。
[ngClass]="image?.isAvailable ? (image?.property ? 'class1' : 'class2') : ''"
Run Code Online (Sandbox Code Playgroud)
''如果image?.isAvailable属性未定义,则空字符串表示空类列表。