私は Ember.js を初めて使用し、「フローティング」メニュー (つまり、メニュー、パネル、またはモーダルで、ページの残りの部分の上に絶対に配置される) の非常に基本的な動作であると思われるものを実装しようとしています)。ユーザーがメニューをクリックするとメニューが閉じます。
ユーザーがボタンをクリックすると、「フローティング」メニュー (コンテンツを含む div のみ) が開きます。ユーザーがメニューをクリックすると (つまり、メニュー内にないページ上の任意の場所をクリックすると)、メニューが閉じます。
この動作を機能させる方法や、これを実装するためにどのようなアプローチをとるべきかさえわかりません。
ボタンをクリックするとメニューが開くシンプルなアプリケーションでフィドルをセットアップしました。フィドルは、私が現在持っている設定をほとんど模倣しています。アプリケーション コントローラー、メニュー コントローラー、およびメニュー ビューに使用する JavaScript も以下に貼り付けます。ユーザーがクリックしたときにメニューが閉じるように、このフィドルを変更するにはどうすればよいですか?
App.ApplicationController = Ember.Controller.extend({
menuIsHidden: true,
actions: {
openMenu: function(){
this.toggleProperty('menuIsHidden');
}
}
});
App.MenuController = Ember.Controller.extend({
needs: ['application']
});
App.MenuView = Ember.View.extend({
templateName: 'menu',
classNames: ['menu'],
classNameBindings: ['controller.menuIsHidden:hide'],
});
ありがとうございました!