В моем HTML, у меня есть элемент с атрибутом ng-click
, чтобы вызвать функцию. Эта функция содержит цикл, который вызывает другую функцию на каждом шаге. Теперь я хотел бы освежить $scope
после каждого шага цикла, но:
- Я не могу использовать
$scope.$apply
, так как я уже внутри$apply
фазы из-за атрибутаng-click
, - я могу «т использовать
onclick
вместоng-click
, поскольку изменения функции мыши (сng-repeat
в частности), и $timeout
не работает, потому что это как-то портит порядок, в котором функция внутри цикла пробегов (я предполагаю функцию щелчок запускает цикл а затем бит внутри$timeout
место).
Вот мой код:
// IN MY HTML
<th class="groupHeader" ng-repeat="j in groupsMain" ng-click="thClickColumn(j)">{{j}}</th>
// IN MY CONTROLLER
$scope.thClickColumn = function(j) {
// some code
for (var i = 1 ; i <= 7 ; i++) {
_this.tdClick(i,j) ; // I'd like my $scope to refresh after doing this
if (_this.inputElement === false) { return ; } // Also, this bit here should break the loop if the condition is met (_this.inputElement is returned by the function above)
}
} ;
Спасибо!
Почему вам нужно обновить '$ scope' после каждого шага цикла? – Sampath
Угловой продолжает выполнять грязную проверку и работу всех наблюдателей, например. '$ watch'es, пока больше не будет внесено изменений в' $ scope'. Он будет жаловаться, если он должен запустить больше, чем 'N' итераций (я думаю, что это было 50). Кроме того, '$ scope' является просто старым Java-объектом, и вы должны иметь возможность устанавливать свойства на нем обычным способом. Возможно, мне не хватает того, что вы имеете в виду, когда говорите «обновите мой« объем »? –
Возможно, я не высказывал себя правильно (по-прежнему новичок в этом, извините). Я хочу сказать, что я хочу обновить привязки и увидеть изменения, сделанные на моей странице сразу после каждого цикла. –