2017-10-21 4 views
1

私はモーダルを閉じるときに、関数を呼び出す必要があります(フォームコントロールを使用してモーダルでコンテンツをリセットするかfalseにする必要があります)が、クリックした後のイベントのハンドラは見つかりませんでした。いいえクリックした後にモーダル閉鎖?

<clr-modal [(clrModalOpen)]="opened" [clrModalStaticBackdrop]="true"> 
     ... 
</clr-modal> 

ありがとうございます。

答えて

5

[(clrModalOpen)]="opened" [clrModalOpen]="opened" (clrModalOpenChange)="opened = $event" (詳細についてはhttps://angular.io/guide/template-syntax#two-way-binding---を参照)のためだけ糖衣構文です。

あなたのケースでは、イベントハンドラは(clrModalOpenChange)です。 Angularでは、双方向バインディングの対応する入力からの変更がループにつながるため、出力が発生しないことにも注意してください。つまり、自分の閉じるボタンが入力を介してモーダルを更新すると、出力は発生しません。解決策は、単純に、あなたのハンドラが私たちの出力から、そしてあなた自身のメソッドから呼び出されてモーダルを閉じていることを確認することです。

私は生き例えば頼まれたので、ここではそれらの2つです:脱糖とhttps://plnkr.co/edit/7J8MfH?p=preview

  • 明示的なリスナー:、ゲッターとセッターとの

    1. エレガントなソリューション双方向結合構文を保持しますバージョン:https://plnkr.co/edit/6cWHwu?p=preview

    このような単純なゲッタとセッタでは、パフォーマンス上のリスクがないため、最初の設定を優先します。しかし、私は脱糖の構文を述べたので、私は例を示すかもしれません。

  • +0

    Eudes、あなたの説明は明らかです。しかし、私はそれを働かせることができませんでした。あなたは実例を挙げることができますか? さらに、あなたはClarityを開発するチームの一員であると思います。私はしばらくそれを使用していますが、Clarityのドキュメントからすべてのもの(たとえば、このBanana-In-a-Box表記)を完全に取得することはできません。あなたはあなたの文書に精緻化/改善する計画がありますか(必要に応じてAngularを参考にしてください)? –

    +0

    Eudesさんがうまく働いてくれてありがとうございました... –

    +0

    @SoumyaKanti:私は答えにふたつのプランカを追加しました。 ドキュメントについては、既にAngularのウェブサイトにあるものを再ドキュメント化するのは私たちの役割ではないと思います。 Clarityを使用している人は、標準的なAngularテンプレート構文やその他の非クラリティ機能を知っていることが期待されます。 – Eudes

    関連する問題