angular - 是否可以添加动态类以在 Angular 2 中托管?

标签 angular angular2-template

我知道在 Angular2 中,我可以通过这样做将类“red”添加到组件的选择器元素中:

@Component({
    selector: 'selector-el',
    host: {
        '[class.red]': 'true'
    },
    ...
})

我想知道是否有办法向主机添加一个动态类,类似于您对 NgClass 所做的(我知道实际上不支持 NgClass,我正在寻找可能的解决方案):

@Component({
    selector: 'selector-el',
    host: {
        '[NgClass]': 'colorClass'
    },
    ...
})
...
constructor(){
    this.colorClass = 'red';
}

最佳答案

你可以使用类似的东西:

@Directive({
  (...)
  host: {
    '[class.className]' : 'className', 
    '[class]' : 'classNames' 
  }
}
export class MyDirective {
  className: boolean;
  classNames: string;

  constructor() {
    this.className = true;
    this.classNames = 'class1 class2 class3';
  }
}

关于angular - 是否可以添加动态类以在 Angular 2 中托管?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996212/

相关文章:

Angular - 使用来自另一个模块的组件

angular - 如何将表单控件添加到现有表单组 - angular2

angular - 多个 ngx 分页错误 Angular 2

javascript - 使用 defaultExtension 为 systemjs 配置 Angular2 库

rest - Angular2 - Http 服务 - 如何确保我始终拥有实时数据

angular2-template - 从组件角度 2 获取 ng-template

javascript - Angular2 表在过滤后无法正确构建

css - Angular2 [style.width] 绑定(bind)高 CPU 使用率

angular - 如何配置 systemjs 以识别特定于环境的应用程序路径?

ionic-framework - 如何从 ionic 菜单中删除拖动功能?