angularJS触发点击事件报$rootScope:inprog错误

在angularJS中写了个table,然后在网上找了段代码把数据导出到excel里去。JavaScript的是OK的,但是我把代码放到angular中,
clipboard.png
触发click事件的时候就会报这个错
clipboard.png
,我在网上查了一下,是因为有了多个$执行所以报错,其他人都是angular中什么$apply什么的导致的,但是JavaScript的click事件怎么会导致种错误呢?实在不解,求大神指点啊....

阅读 5.5k
3 个回答

把调用click事件的代码用setTimeout()包裹一层试试

angularjs内部有$timeout
先在你的controller中注入$timeout
$timeout(function() {

  ...    // 执行你的click代码

});

click事件触发的时候,angular内部已经在做脏数据检查了,这个时候应该click事件bind的函数里面含有$apply。可以用$scope.$evalAsync(click函数)或$scope.$applyAsync(click函数)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题