采取以下代码:
$scope.$apply(function(){
$scope.foo = 'test';
});
与这一对:
$scope.foo = 'test';
$scope.$apply();
两者之间有什么区别?我尝试搜索,但找不到有关此的任何信息。
甚至这种方法:
$scope.$apply('foo = "test"');
最佳答案
您在评论中引用的文章是正确的。唯一的区别是,如果您传入一个函数,则该函数将在$digest
循环的其余部分之前“应用”(或$digest
ed)。因此,如果您希望Angular立即识别您的特定更改(意味着在评估所有其他更改之前),则应传递一个函数。否则,$scope.$apply()
和$rootScope.$digest()
之间没有区别。
该文章说以下内容:
希望能有所帮助。