我有这个函数:
function scopeMutateSuccess(modalInstance, state) {
$rootScope.$apply(function() {
modalEventConfig.statusType = 'success';
modalEventConfig.nodeStatus = 'Completed Successfully';
});
}
在调用栈中…在这个函数之前有一个digest()
被调用。然而,当这个函数被调用时,它仍然在运行,并且我得到一个已经在进行中的digest()。我需要在这个函数中使用自己的digest()
,否则视图不会使用作用域成员值更新。第一个digest()
在其他地方被调用,而不是由我,所以我不能控制它发射。
是否有一个事件侦听器,当一个digest()
结束或一种方法来防止它们发生冲突?
您总是可以使用$scope.$$phase
检查正在进行的摘要(如果正在进行则返回true)。
function scopeMutateSuccess(modalInstance, state) {
$timeout(function() {
modalEventConfig.statusType = 'success';
modalEventConfig.nodeStatus = 'Completed Successfully';
}, 0);
}