AngularJS$apply在范围内

AngularJS $apply inside scope

本文关键字:范围内 apply AngularJS      更新时间:2023-09-26

有没有另一种方法可以用来执行以下操作? 这个jQuery函数在Angular $scope中使用,它工作正常,但它抛出了一个$apply错误,主要是因为它被视为$apply中的$apply。然而,如果我删除 $scope.$apply() 行,它将停止工作。

function myfunction(start, end) {
        // Lots of jQuery code here - omitted from this example
        // Update the scope 
        $scope.myf = "abc";
        $scope.myt = "def";
        $scope.$apply();
}
myfunction();
要么

将代码包装在$timeout中,要么使用 $apply()。请注意,$timeout在内部调用 $apply()。$apply专门用于将外部更改(不在角度循环中)与角度重新同步。

如果您的函数在点击或事件时触发。您可以使用指令 ng-click 或 ng-[event] 将函数绑定到 angular。

改用$scope.$evalAsync()。 在这种情况下,它不会抛出错误并执行相同的操作。