Как можно обработать на модели ember, прежде чем возвращать ее в крючок? Я в настоящее время есть что-то по следующим направлениям в маршрутеEmberJS Обработка перед возвращением модели
model: function (params) {
var list_of_modelAs = [];
this.store.find('modelA').then(function (modelAs) {
modelAs.forEach (function (modelA) {
modelA.get('modelB').then(function(modelB) {
if (modelB.get('id') == params.modelB_id) {
list_of_modelAs.push(modelA)
}
})
})
});
return list_of_modelAs;
}
Где Modela и modelB конечно являются модели, определенной с Эмбер-Data.
Я по существу создаю массив моделей, но сначала их фильтрую. Действительно, я хочу просто фильтровать массив моделей, но я не мог понять, как это сделать, поскольку modelB
является иностранной моделью (modelA
принадлежит modelB
, то есть каждая модель A имеет модель B). В идеале, что я пытаюсь сделать что-то вроде:
return this.store.find('modelA', where modelA.modelB.id = someValue)
Проблема заключается в том, конечно, что из-за обещания и такие, пустой list_of_modelAs
возвращается только и модель приходит пустой.
Я предполагаю, что мне нужно как-то структурировать это, чтобы вернуть обещание от крюка модели, но я не совсем уверен, как это сделать.
один вопрос, прежде чем я отправить ответ .. 'modelA.get' Ретур ns обещание, но 'modelB.get' не делает, это правильно? Или это зависит от аргумента, переданного для получения? –
Я не уверен. Разве обе они не вернут обещание? – Aristides
Не соответствует вашему коду –