Показать сообщение отдельно
  #7 (permalink)  
Старый 01.08.2013, 05:46
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

выполняется scan пока есть изменения (если больше 9 срабатываний: Uncaught Error: 10 $digest() iterations reached. Aborting!). При первом они есть, при втором их нет. Вот так есть при втором, третий scan срабатывает в холостую:
angular.module('tmp',[])
.controller('Ctrl',['$scope', function(data) {
    data.items = {
     a:{name:'a1', val:1},
     b:{name:'a2', val:0},
     c:{name:'a3', val:0}
    }
}]).filter('customFilter',function(){
    return function (items, criterion) {
        console.log('Джина вызывали?')
        var tmp = {};
        for(var i in items){
            var item = items[i];
            if(item.val == criterion.val){
                tmp[i] = item;
            }
            item.val++;
        }
        
        return tmp;
    }
})


а так при третьем, четвертый - холостой:

angular.module('tmp',[])
.controller('Ctrl',['$scope', function(data) {
    data.items = {
     a:{name:'a1', val:1},
     b:{name:'a2', val:0},
     c:{name:'a3', val:-1}
    }
}]).filter('customFilter',function(){
    return function (items, criterion) {
        console.log('Джина вызывали?')
        var tmp = {};
        for(var i in items){
            var item = items[i];
            if(item.val == criterion.val){
                tmp[i] = item;
            }
            item.val++;
        }
        
        return tmp;
    }
})

Последний раз редактировалось Riim, 01.08.2013 в 05:52.
Ответить с цитированием