在Ember中,我有一个应用程序,我有一个外部控制器,其模板以标准{{outlet}}呈现。
但是,模板包含一个命名的插座{{outlet details}},该控制器的一个操作执行transitionToRoute(),它在“详细信息”插座内部呈现,并且有一个内部控制器处理该嵌套模板
我需要做的是对内部模板/控制器执行操作,触发外部控制器上的操作。似乎Ember无法打破“出口”障碍。事件只会在出口内冒泡而不是在父母的出口处。
我尝试过的事情:
我正在尝试甚至可能吗?我知道我可以使用jQuery来模拟这个,但我宁愿不必这样做,我更喜欢用“ember方式”(如果有的话)。
答案 0 :(得分:2)
2号作品
App.IndexRoute = Ember.Route.extend({
model: function() {
return ['red', 'yellow', 'blue'];
},
renderTemplate: function(){
this.render();
var fooCont = this.controllerFor('foo');
this.render('foo',{
into:'application',
outlet:'foo',
controller:fooCont
});
}
});
App.ApplicationController = Em.Controller.extend({
actions:{
hello: function(val){
alert(val);
}
}
});
App.FooController = Em.Controller.extend({
needs:'application',
application: Em.computed.alias('controllers.application'),
actions:{
sendToApp: function(){
this.get('application').send('hello', 'world');
}
}
});