[英]Binding multiple actions in controller in ember
我为网站设计了一个样机,该网站的侧边栏带有一个菜单,该菜单出现在mouseEnter上,而在mouseLeave上消失。 这是用jQuery模拟的,尽管现在我正尝试使用Ember重新创建此功能。 到目前为止,我已经可以正确地使用mouseEnter了,但是我不知道如何绑定mouseLeave。
从到目前为止的内容来看,实现View似乎是答案,因为不赞成使用View,所以我不确定该如何进行。
这是我到目前为止的内容:
/app/controllers/sidebar.js
import Ember from 'ember';
export default Ember.Controller.extend({
title: 'Ticket Log',
menu_showing: false,
actions: {
toggleMenu: function () {
this.set('menu_showing', !this.get('menu_showing'));
console.log(this.get('menu_showing'));
}
}
});
/app/templates/sidebar.hbs
<div {{action "toggleMenu" on="mouseEnter"}} id="sidebar" class="panel panel-default">
{{#if menu_showing}}
<div id="sidebar-menu">
<div id="sidebar-menu-buttons">
<button id="sidebar-menu-toggle" type="button" class="btn btn-default glyphicon glyphicon-menu-hamburger"></button>
<button id="sidebar-menu-lock" type="button" class="btn btn-default glyphicon glyphicon-lock"></button>
</div>
<div id="sidebar-menu-pills" class="panel panel-default">
<div class="panel-body">
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="#">Ticket Log</a></li>
<li><a href="#">Customer Info</a></li>
<li><a href="#">Asset Info</a></li>
</ul>
</div>
</div>
</div>
{{/if}}
{{title}}
{{outlet}}
</div>
你说的差不多。 Views
已弃用,但Components
未使用,并且它们已从View
扩展。
Ember.Component.extend({
isMenuShowing: false,
mouseLeave() {
this.toggleProperty('isMenuShowing');
},
mouseEnter() {
this.toggleProperty('isMenuShowing');
},
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.