AngularJS $适用范围
问题描述:
是否有另一种方法可用于执行以下操作?这个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]指令将函数绑定到角度。
_“它工作正常,但它会抛出一个$应用错误” - 它不能既工作又不工作。 – zeroflagL
所需的输出已生成,但它会引发错误。也许我应该重新说话。 – Rob