您将如何在余烬中实现关注点。例如,发送邀请功能:
- 用户有 5 个邀请(存储涉及获取数据)
- 可从任何应用程序状态获得邀请
- 它出现在模态中
- 它可以不止一个 - 因此 {{出口模式}} 也不起作用
- 用户可以输入电子邮件并发送邀请(可用邀请数量减少)
当前模式实现 - 因此无法将控制器分配给视图...
openModal: function(modal) {
var modalView = this.container.lookup(modal);
modalView.appendTo(MS.rootElement);
}
组件方法对我来说不起作用:内容(模型)应该通过路由设置,我不知道组件中的事件对数据获取有用。
嵌套路由也不起作用 - 需要改变很多。
我找不到任何可行的方法,请帮忙。
提前谢谢。
您可以将控制器分配给视图。 下面是一个简单的示例,我可以从页面中的任何位置注入视图,为其分配一个控制器,当我重新弹出视图时,它具有相同的控制器(如果这是预期的结果)。 如果这不能让你朝着正确的方向前进,请告诉我。
您也可以使用冒泡来允许从应用中的任何位置调用它。
http://emberjs.jsbin.com/uhoFiQO/4/edit
App.InviteView = Ember.View.extend({
templateName: 'invite'
});
App.InviteController = Ember.Controller.extend({
actions: {
pretendToSend: function(){
var invites = this.get('invites');
this.set('invites', invites-1);
}
}
});
App.ApplicationRoute = Ember.Route.extend({
setupController: function(controller, model){
var inviteController = this.controllerFor('invite');
inviteController.set('invites', 5);
},
actions:{
popInvite: function(){
var inviteController = this.controllerFor('invite');
// create/insert my view
var iv = App.InviteView.create({controller: inviteController});
iv.appendTo('body');
}
}
});