发表于: 2016-08-11 22:52:16

0 2531


今天完成的事情:看基础。


明天计划的事情:查缺补漏。


遇到的问题:。。


收获:

  如果我们使用了angularJS中的$scope.$apply()或者$scope.$digest(),我们很可能会遇到类似下面的错误

情况1:controller中如果有异步操作,比如ajax回调,timeout延时等。可以这么理解:由于异步(延迟)的存在,当开始执行回调函数的时候,angularJS自身controller中的脏值检测已经结束,无法检测到回调函数导致数据的变化。


这段代码如果没有调用$scope.$apply()的话,数据是不会刷新到界面上的。


情况2:在JQuery代码中修改$scope中的数据。这种情况是在angular框架之外操作$scope中的数据,angular不能检测到数据变化是正常的。


解决“$apply already in progress”最好的方式,就是不要使用$scope.$apply()或者$scope.$digest()。




返回列表 返回列表
评论

    分享到