В моем текущем проекте я использую модели ampersand.js и коллекции rest-collections. Когда я подключаю его к api, у меня возникают проблемы. Апи возвращает объект, как это ...Местоположение атрибута parse для модели или коллекции Ampersand.js
{
type: ...,
multi: ...,
data: <good stuff>
}
Для того, чтобы загрузить данные в модели или коллекции, насколько я понимаю, что мне нужно использовать парсер.
Перейдя по документам, кажется, что я должен поместить синтаксический анализ в модель.
На практике, однако, когда я запускаю выборку из коллекции, она не будет загружать данные в модели, если свойство анализа не находится в коллекции. Однако, когда я запускаю getOrFetch, он не будет загружать данные, если свойство анализа не находится в модели.
Ничего не работает, если я поместил синтаксис как в модель, так и в коллекцию.
На самом деле не имеет смысла, что мне придется его перемещать. Мне нужно знать, где, по-видимому, жить, и что мне нужно сделать, чтобы заставить его работать.
Вот моя модель и коллекции:
var Case = Model.extend({
ajaxConfig: function() {
return {
headers: {
'x-auth-token': 'testing'
}
};
},
parse: function (response) {
return response.data;
},
props: {
id: 'string',
orgId: 'string',
created: 'string',
lastUpdated: 'string',
}
});
var CaseCollection = RestCollection.extend({
model: Case,
url: '/cases',
ajaxConfig: function() {
return {
headers: {
'x-auth-token': 'testing'
}
};
},
parse: function (response) {
return response.data;
},
getCase: function (caseId, callbackfunc) {
this.getOrFetch(caseId, function (err, model) {
if (err) {
console.log(err);
} else {
callbackfunc(model.toJSON());
}
});
},
getCases: function (callbackfunc) {
this.fetch({
success: function (collection, response) {
callbackfunc(collection.toJSON());
}
});
}
});
В этом случае, поскольку ваша коллекция делает выборку и не эти модели, это пошло бы в коллекцию.Это не работает? –
В этом проблема. Я попытался поставить синтаксический анализ на модель, коллекцию и т. д. В настоящее время я не увенчался успехом в поиске комбо, где я могу запускать оба fetch и getOrFetch и фактически анализировать ответ. – LeRoy
Что такое свойство 'data' ответа или какая структура данных он содержит? - это массив объектов (соответствующий коллекции) или объект (соответствующий модели)? –