检查元素是否在 Angular2 中动态标记 attr/class

Checking element has attr/class tagged dynamically or not in Angular2

Angular2中有没有一种方法可以让开发人员检查一个组件的相应元素是否用某些attribute/class标记?

假设我们有以下 html:

<outer-controller>
    <label label-directive class='dynamically-set-class' dynamically-set-attribute>just some label</label>
</outer-controller>

label元素中标注的label-directive是一个Angular2组件,dynamically-set-classdynamically-set-attribute两个是根据outer-controller动态控制的用户输入。

每次 outer-controller 重置标签或属性的 class 时,它都会触发一个被 label-directive 捕获的事件,因此 label-directive 应该做一些事情动态地基于 运行 时间 attribute/class 设置。

但是,我在现有的官方 Angular2 文档中找不到任何示例

@Input() 应该做你想做的事:

@Directive({
  selector: '[label-directive]'
})
export class LabelDirective {
  @Input('class.dynamically-set-class') _dynamicallySetClass: boolean;
  @Input('dynamically-set-attribute') _dynamicallySetAttribute: any;

  ngOnInit() {
    console.log('class ' + _dynamicallySetClass);
    console.log('attribute ' + _dynamicallySetAttribute);
  }
  ngOnChanges(changes) {
    ..
  }
}