采取以下代码:

$scope.$apply(function(){
    $scope.foo = 'test';
});

与这一对:
$scope.foo = 'test';
$scope.$apply();

两者之间有什么区别?我尝试搜索,但找不到有关此的任何信息。

甚至这种方法:
$scope.$apply('foo = "test"');

最佳答案

您在评论中引用的文章是正确的。唯一的区别是,如果您传入一个函数,则该函数将在$digest循环的其余部分之前“应用”(或$digest ed)。因此,如果您希望Angular立即识别您的特定更改(意味着在评估所有其他更改之前),则应传递一个函数。否则,$scope.$apply()$rootScope.$digest()之间没有区别。

该文章说以下内容:



希望能有所帮助。

09-30 16:33
查看更多