TemplateRefでテンプレート(もとのHTML的なの)を、ViewContainerRefでテンプレートが挿入されていた場所を取得できるのでif2がtrueの場合は挿入、if2がfalseの場合はクリアする。
import {Directive, Input , OnChanges, TemplateRef, ViewContainerRef} from '@angular/core';
@Directive({
selector: '[if2]'
})
export class If2Directive implements OnChanges {
@Input() if2: boolean;
constructor(
private template: TemplateRef,
private container: ViewContainerRef
) {}
ngOnChanges() {
if (this.if2) {
this.container.createEmbeddedView(this.template);
}else {
this.container.clear();
}
}
}
【Angularの最新記事】
- AngularのRenderer2でDO..
- AngularでネイティブのDOMにアク..
- AngularでDirectiveの作成..
- Angularでカスタムパイプを作る
- AngularでURLのパラメーターを取..
- AngularでN文字以上をトリミング
- AngularでBehaviorSubj..
- Angularで「WARNING .. ..
- angularでdebounce
- angular cliで作ったプロジェク..
- Angular2でformControl..
- Angular2のloadChildre..
- ElementRef - @angula..
- Angular 2のng2-dragul..
- Angular 2のDatePipe
- Angular2のRouting2
- Angular2のRouting
- Angular2のライフサイクルメソッド..
- Angular2のサービス
- Angular2のコンポーネント
