質問: false; } ``` hoge.html ``` is-open="show" datepicker-open="show" ng-click="toggle()" ``` 隔離スコープのbooleanで表示、非表示を切り替えますが、AngularBootstrapのDatepickerPopupの機能で、ポップアップの外をクリックしても非表示になります。 このとき、隔離スコープのパラメータはfalse(ポップアップ非表示)になりますが、それ以降クリックすると、 パラメータ"show"は切り替わりますがポップアップは非表示のままとなります。 ただ、 ``` ng-click="show=!show" ``` とすることで、表示、非表示が行えるようになります。 上記事象について、詳しくわかる方がいたら何が起きているのか教えてください。
回答: 詳細がわからないため推測になりますが、以下のどちらかではないでしょうか。 1. 異なるスコープでshowが定義されており、scope.toggleによる切り替えで期待したスコープのshowの値が変更されていない 2. DatepickerのshortcutPropagationの設定が考慮されていない 補足: 1.については作成されているカスタムディレクティブなどの詳細情報を追記されると原因がわかるかもしれません。 2.はBootstrapのDatapickerのページを参照してください。 クリックイベントが伝播されて表示/非表示の処理が連続して実行されている可能性があります。