ember-cli 0.2.7
ember 1.13-beta2
我正在尝试设置一个组件来处理我的webapp中的叠加层。我希望能够从整个应用程序中打开这个叠加层,但我无法弄清楚如何这样做。这就是我得到的。
看来ember并不认识这项服务。任何帮助非常感谢!
服务 从'余烬'中导入Ember;
export default Ember.Service.extend(Ember.Evented, {
publish: function() {
return this.trigger.apply(this, arguments);
},
subscribe: function() {
this.on.apply(this, arguments);
},
unsubscribe: function() {
this.off.apply(this, arguments);
}
});
导航组件
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'nav',
classNames: ['l-navigation'],
events: Ember.inject.service('event-bus'),
actions: {
openDashboard: function() {
this.get('events').publish('dashboard:open');
}
}
});
然后是'叠加'组件
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'section',
classNames: ['l-dashboard'],
events: Ember.inject.service('event-bus'),
init: function() {
this.get('events').subscribe('dashboard:open', this, 'openDashboard');
},
openDashboard: function() {
alert('opening dashboard');
}
});
编辑 - 受欢迎的需求: - )
这是问题的jsbin。 http://emberjs.jsbin.com/cesotamuza/1/