这是小提琴。
http://jsfiddle.net/inconduit/hf7XM/10/
重现问题的步骤:
- 点击“转到帖子”。
- 单击“controllerFor”文本,它不会清除列表。
- 单击全局参考文本,它将清除列表。
似乎返回的控制器引用controllerFor()
实际上不是PostsIndexController
? 这是为什么?
我在setupController()
Route 的挂钩中对其进行了破解,以便在 App 上设置对该控制器的全局引用,当我将该引用上的内容设置为 in 中的新数组时emptyList2()
,该列表在模板中正确清除。
我用controllerFor()
错了吗?还是误解了它返回的内容?这是范围界定问题吗?请帮帮我。
App.PostsIndexRoute = Ember.Route.extend({
setupController : function(controller,model) {
controller.set('content',['one','two','three']);
App.postsIndexController = controller;
}
});
// receives the {{action}} from the template
App.PostsController = Ember.Controller.extend({
emptyList : function() {
this.controllerFor('postsIndex').set('content',Ember.A());
},
emptyList2 : function() {
App.postsIndexController.set('content',Ember.A());
}
});