【问题标题】:Linking classes between ts and html replaces instead of appendingts 和 html 之间的链接类替换而不是附加
【发布时间】:2020-06-14 20:59:25
【问题描述】:

我遇到了一个奇怪的 Angular 行为......我不知道你们中是否发生过这种情况。

使用双花括号语法应用传统绑定的绑定变量不会按预期工作,它将替换之前已经关联的类而不是附加

您知道如何连接类而不是替换现有的类吗?

从这个例子可以看出,这里它替换了与材料的mat-raised-button 关联的类。

简单的测试用例:

html

<button mat-raised-button class="myClass">BUTTON</button>
<button mat-raised-button class="{{test}}">BUTTON</button>

.ts

export class AppComponent {
   ...
   test = 'myClass';
   ...
}

css

.myClass {
  background: red;
}

Stackblitz test case

【问题讨论】:

    标签: angular angular-material


    【解决方案1】:

    是的,尝试使用来自 Angular 的 ngClass 指令来追加。

    https://alligator.io/angular/class-binding-ngclass-angular/

    【讨论】:

    • 快速简单。谢谢
    • 我想知道这是否能解决您的问题,您想将变量字符串作为类添加到元素中,我在想....
    • 如果你想追加到已有的课程,你可以试试这个答案:stackoverflow.com/questions/49026960/…
    【解决方案2】:

    使用ngClass 指令根据条件附加您的类。

    <button mat-raised-button ngClass="{{test}}">BUTTON</button>
    

    【讨论】:

    • 快速简单。谢谢
    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2011-08-18
    • 2014-07-29
    • 2017-03-28
    • 2021-07-29
    相关资源
    最近更新 更多