オブジェクトにバインドされたコントローラーがありcontent
ます。このオブジェクトは、さまざまなソースから非同期的にデータをロードします。ロードが完了したときにデータをレンダリングしたい。これは問題なく動作しますが、データを変更したい場合、#each ブロックはデータを再レンダリングしません。
App.PopularTracks = Ember.Object.create({
tracks: [],
load: function() {
var self = this;
var tracks = [];
LFM.get("chart.getHypedTracks", {limit: 5}, function(data) {
// push each track to tracks in a loop, then
self.set("tracks", tracks);
});
// This method has also other asynchronous calls that work similar,
// but #each block doesn't rerender on `tracks` change.
}
});
App.PopularTracksController = Ember.ArrayController.extend({
contentBinding: "App.PopularTracks.tracks"
});
App.PopularTracksView = Ember.View.extend({
templateName: "popularTracks"
});