【问题标题】:Angular conditional class not being added未添加角度条件类
【发布时间】:2019-06-12 00:02:40
【问题描述】:

为什么不添加test-abc

<div class="abc" [class.test-abc]="true"></div>

我使用了这个语法并且它有效:

[ngClass]="{'foo': true, 'abc': true}"

【问题讨论】:

  • 无法复制;对我来说很好。
  • 你能制作一个堆栈闪电战来显示这个问题吗?见this one
  • 嗨@matt,你的[class.test-abc]="true"也可以正常工作。

标签: angular


【解决方案1】:

这是我对这个问题的笔记。有时,Angular 的变更检测不会像预期的那样发生。或者它在控制器中,但没有按预期更新您的视图。

<div [ngClass]="{
  'is-active': condition,
  'is-inactive': !condition,
  'is-focused': condition && anotherCondition,
}">

或从视图中切换

<a (click)="clicked ? clicked = false : clicked = true;" [class.active]="clicked">organize</a>

尝试在更改时记录您的变量以查看它是否实际上正在更新:

ngOnChanges(changes: SimpleChanges) {
    if ('variable' in changes) {
        console.log(this.variable);
    }
}

【讨论】:

  • 第二个和我的一样
  • 变更检测不是问题,我只使用 [class.abc]="true" no variables
  • 括号告诉 Angular 表达式应该是evaluatedtrue 将被评估为 true
猜你喜欢
  • 2019-06-18
  • 2019-09-21
  • 1970-01-01
  • 2015-12-19
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
  • 2019-07-16
  • 2015-04-05
相关资源
最近更新 更多