rks*_*ksh 3 javascript json ember.js
我有一个ember模板,在页面加载时加载一些JSON数据,有一些按钮,当点击这些按钮时,我需要进行不同的json调用并更新模型.
在此代码中一切正常,但在触发操作并进行json调用后,模型不会更新.
我该如何解决?
App.DatRoute = Ember.Route.extend({
model: function(parms){
return Em.RSVP.hash({
datam : Ember.$.getJSON('URL')
});
},
afterModel: function(){
$(document).attr('title', 'Title');
},
renderTemplate: function() {
this.render();
this.render('fter', { into: 'outlet', outlet: 'fter' });
},
actions :{
action: function(){
return Em.RSVP.hash({
datam : Ember.$.getJSON('URL', {data})
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 5
因为您没有做任何更新模型的事情.Ember对动作的返回值没有任何作用,无论是承诺还是其他.您需要将操作放在控制器上,并使用从ajax调用返回的数据设置模型:
action: function() {
var self = this;
Ember.$.getJSON('URL', {data})
.then(function(result) {
self.set('model', result);
});
}
Run Code Online (Sandbox Code Playgroud)
或者我的风格,完全相同
action: function() {
var set = this.set.bind(this, 'model');
Ember.$.getJSON('URL', {data}).then(set);
}
Run Code Online (Sandbox Code Playgroud)