我有一个在其中有一个命名插座的视图。此视图与控制器无关,不能用于我的用例。我似乎无法渲染到那个命名的插座。我如何正确定位它?
如果视图名为App.UnassociatedView
,则指定的插座为{{outlet potatoOutlet}}
,我想要关联的控制器和视图分别为App.PotatoController
和App.PotatoView
,如何操作我做这个工作了吗?
我试过
App.ApplicationRoute = Ember.Route.extend({
renderTemplate: function() {
this.render();
this.render('potato', {outlet: 'potatoOutlet', controller: this.controllerFor('potato')});
}
});
此
App.ApplicationRoute = Ember.Route.extend({
renderTemplate: function() {
this.render();
this.render('potato', {outlet: 'potatoOutlet', controller: this.controllerFor('potato'), into: 'application'});
}
});
这个
App.ApplicationRoute = Ember.Route.extend({
renderTemplate: function() {
this.render();
this.render('potato', {outlet: 'potatoOutlet', controller: this.controllerFor('potato'), into: 'unassociated'});
}
});
这是一个小提琴:http://jsfiddle.net/wmarbut/X8Mu4/
为了清晰起见而编辑
我在小提琴的评论文本中有这个,但忘了把它放在这里。将插座移动到根级别对我来说不是一个选项b / c这样做的目的是让UnassociatedView
在页面加载时实际生成出口。我的代码实际上是有效的,我只是无法连接它们。
答案 0 :(得分:0)
我已经在某种程度上解决了你的问题。
App.IndexRoute = Ember.Route.extend({
renderTemplate: function(){
this._super();
var controller = this.controllerFor('potato');
this.render('potato', {outlet: 'potatoOutlet', controller: controller});
}
})
我建议不要将ApplicationView的模板覆盖为索引。导致混乱。
您也不必显式创建ApplicationView。请参阅:Do I have to explicitly create an `ApplicationView` and an `ApplicationController` for every Ember.js application?