2015-04-21 2 views
-1

Я пишу настраиваемую директиву события для keydown.

Error: $apply already in progress 

Вероятно, как следующий реализации

$scope.safeApply = function(fn) { 
    var phase = this.$root.$$phase; 
    if(phase == '$apply' || phase == '$digest') 
    this.$eval(fn); 
    else<br> 
    this.$apply(fn); 
}; 
+0

Каков ваш директивный код? – noj

ответ

0

Вы должны быть осторожны вызова $apply или $digest вручную, даже используя "безопасный" подход.

Если вы хотите, чтобы ваши изменения были применены, попробуйте вместо этого использовать $timeout. Это задержит выполнение автоматически до следующего цикла $ digest и, следовательно, никогда не приведет к ошибке $apply already in progress.

Смежные вопросы