これがフィドルです。
http://jsfiddle.net/inconduit/hf7XM/10/
問題を再現する手順:
- 「投稿に移動」をクリックします。
- 「controllerFor」テキストをクリックしても、リストはクリアされません。
- グローバル参照テキストをクリックすると、リストがクリアされます。
によって返されるコントローラー参照は、controllerFor()
実際にはPostsIndexController
?ではないようです。何故ですか?
ルートのフックでハッキングして、setupController()
アプリのそのコントローラーへのグローバル参照を設定し、その参照のコンテンツを の新しい配列に設定する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());
}
});