Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular NgClass未选择正确的类_Angular_Ng Class - Fatal编程技术网

Angular NgClass未选择正确的类

Angular NgClass未选择正确的类,angular,ng-class,Angular,Ng Class,我有一个对象,它存储一个布尔值。 显示此对象的其他值时,我希望根据该布尔值应用不同的样式 我尝试了十几种组合:*ngClass,[(ngClass)],class.myNewClass <td [ngClass]="(theBoolean ? 'classActivated' : 'classDeacticated' )">...</td> <td [class.classActivated]="theBoolean" [class.classDeacticate

我有一个对象,它存储一个布尔值。 显示此对象的其他值时,我希望根据该布尔值应用不同的样式

我尝试了十几种组合:*ngClass,[(ngClass)],class.myNewClass

<td [ngClass]="(theBoolean ? 'classActivated' : 'classDeacticated' )">...</td>

<td [class.classActivated]="theBoolean" [class.classDeacticated]="!theBoolean" >...</td>
。。。
...
例如,这两种方法都不起作用。我该怎么做

编辑: 它们包含在一个tr中,tr包含一个*ngFor,它本身与另一个*ngFor一起放在一个表中(当我显示一个对象表时,其中包含一个属性也是一个表)

EDIT2:
我从服务中获得这些值,它是一个可观察的
。所有的值都正确地显示在页面中,以及我在网页上显示的用于调试的布尔值。

这两种情况都应该有效。下面是一个简单的例子。在提供的代码段之外出现了一些错误。请尝试在Plunkr中重现您的错误,或向我们展示整个组件。

您的两种情况都应该有效。下面是一个简单的例子。在提供的代码段之外出现了一些错误。请尝试在Plunkr中重现您的错误,或向我们展示整个组件。

另一种有效语法是,根据:

。。。

另一种有效语法是:

。。。

错误可能是省略了对象/数组元素名称。如果要对数组(从服务获取或非从服务获取)进行迭代,并且布尔值是该数组/对象的属性,则应在模板语法中指定它,如下所示:

<td [class.classActivated]="objectName.theBoolean" [class.classDeacticated]="!objectName.theBoolean" >...</td>
。。。

。。。

WARE objectName/item是布尔属性的持有者。

错误可能是省略了对象/数组元素名。如果要对数组(从服务获取或非从服务获取)进行迭代,并且布尔值是该数组/对象的属性,则应在模板语法中指定它,如下所示:

<td [class.classActivated]="objectName.theBoolean" [class.classDeacticated]="!objectName.theBoolean" >...</td>
。。。

。。。

WARE objectName/item是布尔属性的持有者。

预期结果是什么?目前的行为是什么?
布尔值
的可能值是什么?您必须查看
和其他。预期结果:“我希望根据该布尔值应用不同的样式。”当前行为,它仅显示一个案例。至于布尔值的可能值,
true
false
。你还期待什么?@Swoox为什么需要ngIf来添加/删除类?使用ngIf只能添加或删除元素。@Vega,如果我将其中一个硬编码到。Mozgor我会看看是否能提供更多信息预期结果是什么?目前的行为是什么?
布尔值
的可能值是什么?您必须查看
和其他。预期结果:“我希望根据该布尔值应用不同的样式。”当前行为,它仅显示一个案例。至于布尔值的可能值,
true
false
。你还期待什么?@Swoox为什么需要ngIf来添加/删除类?使用ngIf只能添加或删除元素。@Vega,如果我将其中一个硬编码到。Mozgor我会看看是否能提供更多信息我以前试过,试过了,但还是不起作用。我将为我的问题添加更多细节。你能告诉/告诉我们何时/何地/如何初始化/更新布尔值吗?明白了。当您尝试这种语法时,会发生什么?只有第一个类是绑定的,而第二个类即使在
theBoolean
切换值时也不会显示?如果是,您是否尝试手动将布尔值初始化为false?只是想看看在获取可观察值之前,
classDeacticated
是否已绑定。无论如何,我建议您查找绑定问题:您的模板似乎没有提供有关获取更新的布尔值的线索。我以前尝试过,重试过,但仍然不起作用。我将为我的问题添加更多细节。你能告诉/告诉我们何时/何地/如何初始化/更新布尔值吗?明白了。当您尝试这种语法时,会发生什么?只有第一个类是绑定的,而第二个类即使在
theBoolean
切换值时也不会显示?如果是,您是否尝试手动将布尔值初始化为false?只是想看看在获取可观察值之前,
classDeacticated
是否已绑定。无论如何,我建议您查找绑定问题:您的模板似乎没有提供有关更新布尔值的线索您找到问题的根源了吗?您找到问题的根源了吗?
<td [ngClass]="{'classActivated': item.theBoolean, 'classDeacticated': !item.theBoolean}">...</td>