Ember:无法迭​​代模型对象

时间:2018-05-14 22:46:52

标签: ember.js ember-data

有点难过。我的路线中有一个模型钩子,如下:

return hash({
   people: this.store.findAll('person'),
   positions: {}
})

我最后操纵一些数据并在以后填充positions对象,我的afterModel。在我填充之后,我尝试迭代每个模型。当我迭代people时:

model.people.forEach((person) => {
  console.log("Im a person.");
})
   //I'm a person

但是当我迭代职位时:

model.positions.forEach((position) => {
 console.log("position");
})

没有记录。错误说 model.positions.forEach不是函数

如果,在positions上方的迭代之上,我记录get(model, 'forecasts'),它会正确记录并显然填充了我的记录。所以我知道我不会迭代一个空对象。我猜我形成这些物体的方式是不同的?如果您有兴趣,请按以下方式填写positions

   this.get('owner.organizations').forEach((organization) => {
    this.store.queryRecord('position'), {}.then((position) => {
      set(model.positions, organization.get('id'), position)
    })
   })

1 个答案:

答案 0 :(得分:0)

感谢所有指出我试图错误地迭代一个对象的人 - 这很令人尴尬但却是真的。就这一点而言,基本问题是当我试图迭代它时positions对象实际上没有被填充。由于一些Chrome检查器的怪癖(传递值和传递引用之间的差异),当我在控制台上记录它时,它似乎已填充;但是,当我添加一个调试器时,很明显它在那时是空的。总有一天,我会在这上花半天时间感觉更好:/