Привет!
Начну с конца вопроса. Нужно обновить только те элементы массива, которые изменились. Нельзя обновлять весь массив!
[{"id":87510,"name":"1","date":1506983543"}{"id":87512,"name":"2","date":1506983543"}]
Контроллер:
$scope.getData = function() {
$http.get('/api/arr/', {
cache: true
}).then(successCallback, errorCallback);
};
function successCallback(response) {
if ($scope.arr== null) {
$scope.arr= [];
angular.merge($scope.arr, response.data);
}
// но что делать, если нужно обновиться?
//пытался делать так:
for (var i = 0; i < $scope.arr.length; i++) {
if ($scope.arr[i].name!=response.data[i].name) {
$scope.arr[i].name= response.data[i].name
}
}
get запрос делаю каждую секунду по таймеру, но несмотря на это, никогда не выполняется условие $scope.arr[i].name!=response.data[i].name потомучто почему то данные одинаковые, как будто у меня одна и та же ссылка. Хотя merge должен работать иначе.
Как обновить отдельный item массива без рефреша всего массива, с get запросом?
Третий день уже бьюсь, не получается. Очень помогли бы примером. Спасибо!