Есть 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 не обновляется в функции? И как решить эту проблему?