2017-06-05 15 views
0

最近、私は同様の質問を投稿しましたが、動作させることができませんでしたので、ここで参照して、私がそれをやり遂げることができなかったので再度助けてください。Close on Angular 2(4)

質問:Hide on click Outside of element angular 4

だから、私は次のことを実行する必要があります。私は、サイドメニューを持っており、そのメニュー内の1つのリスト項目をクリックするだけで、私は(それがドロップダウンではない)別のサイドバーのメニューを開き、Iその新しいサイドメニューをどこかをクリックして閉じる必要があります。

私のコンポーネントの構成は次のとおりです。レイアウトコンポーネント>サイドバーコンポーネント>スモールメニューコンポーネント。

サイドバーコンポーネントの内側をクリックすると小さなメニューが開きます。私が試してみました:https://www.npmjs.com/package/angular2-click-outside

https://www.npmjs.com/package/ng2-click-outside

彼らが動作するように見えるいけません。

ありがとうございました。

答えて

0

私は実際にこれを処理しましたが、1回のドロップダウンでのみ処理しましたが、探しているものに似ているような気がします。コンポーネント/ディレクティブ

constructor() { 
    document.addEventListener('click', this.offClickHandler.bind(this)); 
} 

offClickHandler(event:any) { 
    if (!event.target.closest(".select-options") && !event.target.closest(".select-input")) { 
     // do whatever you want here 
    } 
} 

これは、クリックが開いているDIV /ドロップダウンに近いではないがあったかどうかをチェックします。次に、offClickHandler内のコードが実行されます。そのため、offClickHandler内のクラスをクリックして閉じるときに閉じるサイドメニューに設定し、ifステートメント内で非表示にします。

+0

私はこれを試しましたが、動作していません:/ – grabnem

関連する問題