有问题的特定对象是一个flash对象,每次与后端webservice的交互都可以返回0..n。
例如,通过DS发送请求(例如'/ user / 1')来转换到搜索用户1的路线
可以返回
{
flash:{
msg: 'You do not have permission to that user'
,flashType: 'warn'
}
}
或
{
flash:{
msg: 'The user you requested does not exist'
,flashType: 'info'
}
}
我正在以这种方式将Flash控制器添加到每个路径
App.BaseRoute = Ember.Route.extend({
renderTemplate: function () {
this.render();
this.render('flash',{
controller: 'flash'
,outlet: 'flash'
});
}
});
这是我目前用来填充flashController
的黑客攻击$(document).ajaxSuccess(function(evt, rqst, settings) {
if(rqst.getResponseHeader('Content-Type') === 'application/json'
&& rqst.responseText !== ''
&& rqst.responseText !== null){
var rslt = $.parseJSON(rqst.responseText);
if(_(rslt).has('flashes')){
console.log('has Flash');
var flashController = App.__container__.lookup('controller:flash');
flashController.set('content', rslt.flashes);
}
}
});
所以,总结一下,我看到DS.Store正在创建flash对象,有没有办法更新flashController,而不是在没有黑客的FlashRoute中。