一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Ember.js中单个模型包含多种对象例子

时间:2014-04-06 编辑:简简单单 来源:一聚教程网

我们常见的一个模板一个对应

 代码如下 复制代码
App.PersonRoute = Ember.Route.extend({
  model: function() {
    return App.Person.findAll();
  },
  setupController: function(controller, model) {
    controller.set('model', model);
  }
});

应该说,这是 Ember.js 框架适用的情景。
但某些情况下,你希望 model 不仅仅是一种对象,而是多种对象集合,则可以有两种选择:
放弃 Ember.js,因为它已经不太适用这种较传统的页面
已经用了 Ember.js,骑虎难下
项目做到一半结果要放弃整个框架,只能说前期对 Ember.js 的适用情形了解不足。但走到这一步,要砍掉重来却不现实。
Ember.js 提供有 Ember.RSVP.hash 方法3,用法如下:

 代码如下 复制代码
App.PersonRoute = Ember.Route.extend({
  model: function() {
    return Ember.RSVP.hash({ // 这里 model 对象包含两种子对象 allPerson 与 task
      allPerson: App.Person.findAll(),
      task: $.get('http://www.zfanw.com/api/task')
    });
  },
  setupController: function(controller, model) {
    controller.set('model', model);
  }
});

模板里使用调用 model.allPerson 与 model.task 即可。

热门栏目