Я возвращающая массив объектов с сервера:
[{id: 1, name: "name"},{id: 2, name: "name2"}]
Теперь я использую угловой-ресурс $query
для выборки данных, как он ожидает массив. Когда данные получены, я получаю эту ошибку:
TypeError: value.push is not a function
Есть ли проблема с ответом я даю от сервера =?
Источник ошибки:
// jshint +W018
if (action.isArray) {
value.length = 0;
forEach(data, function(item) {
if (typeof item === "object") {
value.push(new Resource(item));
} else {
// Valid JSON values may be string literals, and these should not be converted
// into objects. These items will not have access to the Resource prototype
// methods, but unfortunately there
value.push(item);
}
});
} else {
shallowClearAndCopy(data, value);
value.$promise = promise;
}
}
Контроллер:
var stream = [];
stream = new VideoStream({param: 'streamTypes'});
stream.$query();
Услуги:
app.service('DataService', [
'$resource', 'Common', '$rootScope',
function($resource, Common, $rootScope) {
return $resource($rootScope.appWebRoot + "myUrl/:param", {param: '@param'},
{
});
}
]);
VideoStream:
app.service('VideoStream', [
'$resource', 'Common', '$rootScope',
function($resource, Common, $rootScope) {
return $resource($rootScope.appWebRoot + "videoStreams/api/:param",
{param: '@param'},
{
});
}
]);
Давайте [продолжить это обсуждение в чате] (http://chat.stackoverflow.com/rooms/ 83452/дискуссионной между-Гранди-и-Каспар). – Grundy