`ngClass` 指令将类应用为 `object` 而不是 `class` 值

Posted

技术标签:

【中文标题】`ngClass` 指令将类应用为 `object` 而不是 `class` 值【英文标题】:`ngClass` directive apply class as `object` instead of `class` value 【发布时间】:2019-12-02 04:12:58 【问题描述】:

我将类名应用如下:

<tr *ngIf="crud.isCreate" [ngClass]="'create' : curd?.isCreate">

但我没有添加它的类名。在 html 中显示如下:

<tr _ngcontent-yql-c9="" ng-reflect-ng-class="[object Object]"> - 这里有什么问题?

*ngIf="crud.isCreate" - 条件正常。

谁能帮我理解?

【问题讨论】:

curd 的值是多少? 你的意思是curd?.isCreate还是应该是crud?.isCreate 您的代码中似乎有错字。 ngIf 使用 crud 对象,而 ngClass 使用 curd 【参考方案1】:

你有一个错字。 curd 应该是 crud

<tr *ngIf="crud.isCreate" [ngClass]="'create' : crud?.isCreate">

【讨论】:

【参考方案2】:

你可以这样试试。 我正在考虑您的代码中没有错字。

<tr *ngIf="crud.isCreate" [ngClass]="curd?.isCreate ? 'create' : ''">

希望对你有帮助

【讨论】:

以上是关于`ngClass` 指令将类应用为 `object` 而不是 `class` 值的主要内容,如果未能解决你的问题,请参考以下文章

directive ngClass

使用 *ngFor 时如何仅将类设置为特定元素?

ngClass指令3种使用

Angular 4 - 在 jquery append 中编译 [ngClass]

用 NgClass 悬停一个 div

为啥内置属性指令用方括号括起来?