Ember数据模型数组并不总是有数据

时间:2015-01-26 09:39:29

标签: javascript arrays ember.js ember-data

第一次构建Ember应用程序,我的模型无法解决问题。

我有一组课程模型,每个模型都有一个用户模型数组(hasMany,async:true)。

当我加载页面时,我看到所有API请求都是正确的(即客户端正在请求阵列中的所有用户),并且当我记录课程模型时(即我{{1我看到了控制台中的数据。但是,当我执行console.log(course)之类的操作时,数组为空。

课程不是需要所有这些信息的控制器模型(这可能就是为什么会发生这种情况?),所以我将'course'控制器放在course.get('admins')数组中。

最后它是这样的:

needs

即使我尝试过类似的事情:

var course = this.get('controllers.course').get('model'); // this is OK, has data
var admins = course.get('admins'); // this is not OK, has no data!

仍然没有数据!我究竟做错了什么?

以下是相关代码的更多内容:

course.get('admins').then(function (admins) {
    console.log(admins);
});

1 个答案:

答案 0 :(得分:0)

我认为你的模型是这样的:

var CourseModel = DS.Model.extend({
  admins: DS.hasMany('user', {
    async: true
  })
});

然后,如果你得到你的课程模型实例,如果你这样做:

course.get('admins')

该行应该触发要求用户的AJAX调用。

您是否检查过这样的请求是否被调用?

如果没有,您能否提供更多代码以便我们为您提供帮助?