$digest / $apply digest in progress报错

有的时候出于某种原因,如jq操作了model、或者$watch、setTimeout等函数改变了model,导致最后没有脏数据检测。所以我没就手动调用了$apply( )等。
但是第一次运行的时候angular本身也执行了
而angular规定脏值检测轮循等只能被调用一次,所以这样会报错的。
解决办法,执行之前,先判断就好啦。看看angular有没有主动调用,没有的话再手动调

if(!$scope.$$phase) {
       //$digest or $apply
        $scope.$apply()
}
时间: 2024-10-06 18:56:18