Ember: не может перебрать объект модели - PullRequest
0 голосов
/ 15 мая 2018

Немного озадачен здесь.В моем маршруте есть хук модели, например:

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 голосов
/ 15 мая 2018

Спасибо всем, кто указал, что я пытался перебрать объект неправильно - это было неловко, но это правда. Просто чтобы пройтись по этому кругу, основной проблемой было то, что объект positions фактически не был заполнен, когда я попытался выполнить итерацию по нему. Из-за некоторой причуды инспектора Chrome (разница между передачей значения и передачей ссылки), он казался заполненным, когда я регистрировал его в консоли; однако, когда я добавил отладчик, стало ясно, что на тот момент он был пустым. Когда-нибудь я буду чувствовать себя лучше, потратив полдня на это: /

...