Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   resize и ajax data (https://javascript.ru/forum/angular/56511-resize-i-ajax-data.html)

PavelDevelop 19.06.2015 16:34

resize и ajax data
 
Есть div'ы, в которые подгружаются изображения с сервера посредством ajax, количество которых в строке(table-row) нужно менять в зависимости от разрешения. Делаю:

$(window).resize(function () {
                
      $timeout.cancel($scope.resizing);

                
      $scope.resizing = $timeout(function () {

             $scope.projects.resize(); //здесь this.cache пустой.

       }, 300);
});

$scope.data = {
cache:[],
items:[],
resize:function(){
         var arr = [];

         var number = getWindowWidth() > 768 ? 4 : 3;

         for (var i = 0; i < 2; i++) {
                  arr.push(this.cache.splice(0, number));
         }

         this.items = arr;
}
};

$http.get('url',function(data){
    $scope.data.cache = data;

    $scope.data.resize(); // здесь все работает
});

function getWindowWidth() {
    return window.innerWidth
          || document.documentElement.clientWidth
          || document.body.clientWidth;
}


При загрузке изображений, все хорошо, после resize окна cache оказывается пустой. Почему scope не обновляется в функции? И как решить эту проблему?


Часовой пояс GMT +3, время: 16:12.