私はプログラムでクリックしてドキュメントをトリガしようとしています。クリックイベントを手動でトリガーする方法はありますか?
私のtest-compはページ内の複数の場所に表示されており、test-compがクリックされたとき、またはドキュメントのクリックが発生したときにすべて非表示にしたいとします。
@Component({
selector: 'test-comp',
template: `<div *ngIf="showMe">stuff</div> and more…`
})
export class TestComponent {
showMenu: boolean;
constructor(public elementRef: ElementRef) {
}
@HostListener('document:click', ['$event'])
documentClick(event: MouseEvent) {
//hide my component when there is a document click
this.toggleComponent();
}
toggleComponent() {
// I am trying to programmatically fire a document click here to hide all test-comp if the test-comp
// component itself is clicked
// this.elementRef.nativeElement will select all test-comp component but not sure what to do next
this.showMe = !this.showMe;
}
私は私のtoggleComponent
メソッドの内部プログラムで文書のクリックを発射する方法がわかりません。それを行う方法はありますか?どうもありがとう!
クリックします:click'は、この現在のコードは動作しません –
をtrigerredされますが、全身をクリックすることができますか?あなたのテストcompは文書 – Huangism
の一部です。問題は親のDOM要素にevent.propagation()を設定してバブルしないようにすることです。 – Jwqq