我对 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'],
});
谢谢!