1. 程式人生 > >$digest / $apply digest in progress報錯

$digest / $apply digest in progress報錯

lar $watch watch $digest bsp 數據 out span $$

有的時候出於某種原因,如jq操作了model、或者$watch、setTimeout等函數改變了model,導致最後沒有臟數據檢測。所以我沒就手動調用了$apply( )等。
但是第一次運行的時候angular本身也執行了
而angular規定臟值檢測輪循等只能被調用一次,所以這樣會報錯的。
解決辦法,執行之前,先判斷就好啦。看看angular有沒有主動調用,沒有的話再手動調

if(!$scope.$$phase) {
       //$digest or $apply 
        $scope.$apply()
}

$digest / $apply digest in progress報錯