Denetleyici içeriğine eşzamansız olarak bağlamak istediğim $ .getJSON ile bazı verileri getiriyorum. Benim rotada bu ile geldim - çalışır, ancak onunla mutlu değilim: örneğin, elimden,
setupController: function(controller, model) {
this._super(controller, model);
Em.RSVP.Promise.cast(Em.$.getJSON((this.get('ENV.apiBaseURL')) + "https://stackoverflow.com/users/current/live_matchday_stats")).then((function(_this) {
return function(s) {
return _this.controller.set('matchdayStats', Em.Object.create(s));
};
}
Sonra benim şablonunda, kullanım:
Foo: {{matchdayStats.foo}}
Ve iyi çalışıyor. Bunu yazmanın daha iyi bir yolu var mı? (Belki de söz vermez oyuncular ve Em.Object oluşturma olmadan) - Ems. GetJSON'u bir model kancaya koyarsam bu otomatik olarak çalışır.
'Em. $ GetJSON()' yöntemi varsayılan olarak bir Promise döndürür, gerek yok. Ember [kontrolörlerden uzaklaşmayı] planladığından (http://discuss.emberjs.com/t/ember-2-0-moving-away-from-controllers/6728), muhtemelen bunu sadece Rotanıza eklemelisiniz. 'model' kanca. Olmadığın herhangi bir sebep var mı? – trentmwillis
Modelim başka bir şey olduğu için ve bu veriler modelle alakası olmayan bir şey, ancak yine de onu yüklemem ve şablonda göstermem gerekiyor. –