指示の視認性トグラーを助けてください。 <h1 *appTest visibility="true" id="myDirective">navigation:</
H1>ディレクティブの視認性トグラーはどのようになっていますか?
このディレクティブパスの可視性のVARへ:
import { Directive, Input, OnInit, ViewContainerRef, TemplateRef } from '@angular/core';
@Directive({
selector: '[appTest]'
})
export class TestDirective implements OnInit {
@Input() visibility: boolean;
constructor(private viewContainer: ViewContainerRef, private template: TemplateRef<Object>) {
}
ngOnInit() {
console.log(this.visibility);
if(this.visibility) {
this.viewContainer.createEmbeddedView(this.template);
} else {
this.viewContainer.clear();
}
}
}
しかし、コンソールの表示:
未定義
そして#myDirectiveがあるテンプレートでは、私は以下のディレクティブを持っていますブラウザに表示されません。属性「可視性」の値に応じて#myDirectiveを表示および非表示にする必要があります
表示回数のデフォルト値を設定しようとしましたか? visibility:boolean = false? – zgue
属性から可視性パラメータを取得する必要があります –
テンプレートに 'ngIf'指示文を使用し、動的' boolean'変数を割り当てることで要素を表示/非表示する直接的な方法があります。しかし、このメソッドは対応するテンプレートをDOMから完全に削除します(単にDOMにその要素のためのスペースを保持して、 'visibility:hidden'をページ上に隠すだけではありません)。要素の可視性を切り替えたり、入力変数に基づいてDOMから要素を追加/削除したりするだけですか? – amal