3

Angular2あるコンポーネントの対応する要素が何らかの属性/クラスでタグ付けされているかどうかを開発者が確認する方法はありますか?

以下の html があるとします。

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

label-directivelabel 要素でマークされているのはコンポーネントAngular2であり、2 つのdynamically-set-classとは、ユーザー入力に基づいてdynamically-set-attribute動的に制御されます。outer-controller

ラベルまたは属性のクラスをリセットするたびにouter-controller、キャッチされたイベントが発生するlabel-directiveためlabel-directive、実行時の属性/クラス設定に基づいて動的に何かを行う必要があります。

Angular2ただし、既存の公式ドキュメントには例が見つかりません

4

1 に答える 1

4

@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) {
    ..
  }
}
于 2016-01-22T07:52:27.420 に答える