是否可以将控制器绑定到特定的DS.Model类型而无需通过路由

时间:2013-12-27 21:21:03

标签: ember.js

有问题的特定对象是一个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中。

0 个答案:

没有答案