2015-05-28 2 views
1

Я пытаюсь получить доступ к своему угловому охвату, и я продолжаю получать общую проблему: «$ digest уже выполняется». Я не могу использовать $ timeout, потому что я должен быть в состоянии сделать это в разделе моего html, потому что я использую Kendo UI Grid, и мне нужно инициализировать сетку в разделе html-скрипта (я бы хотел, чтобы я мог понять, как сделайте все это в моем контроллере).Доступ к угловым областям В HTML

Код довольно прост, поэтому я не знаю, что еще попробовать.

.... 
$(document).ready(function() { 


    var scope = $('[ng-controller="NewIncidentController"]').scope(); 
    scope.$apply(function() { 
     scope.submitfailure = true;   
    }); 

});

Спасибо.

+0

Вместо 'scope. $ Apply (function() {scope.submitfailure = true;});'. Вы просто попробовали 'scope.submitfailure = true; '? – Zee

ответ

1

Попробуйте использовать scope.$applyAsync().

+0

@ KishorSubedi не соответствует действительности, он предоставляет достаточно информации, чтобы точно определить проблему. Хотя ответ может быть более подробным. – setec

0

scope.$apply назвал бы $digest внутренне, который может вызвать ошибку вы встречались, так как угловые позволяет только один цикл переваривания в то время. $timeout сервис может выполнить вашу функцию в следующем цикле дайджеста. Для вашей ситуации вы можете использовать scope.$evalAsync, который выполнит указанную функцию в текущем процессе дайджест, тем самым избегая исключения.