在angularJS中写了个table,然后在网上找了段代码把数据导出到excel里去。JavaScript的是OK的,但是我把代码放到angular中,
触发click事件的时候就会报这个错
,我在网上查了一下,是因为有了多个$执行所以报错,其他人都是angular中什么$apply什么的导致的,但是JavaScript的click事件怎么会导致种错误呢?实在不解,求大神指点啊....
在angularJS中写了个table,然后在网上找了段代码把数据导出到excel里去。JavaScript的是OK的,但是我把代码放到angular中,
触发click事件的时候就会报这个错
,我在网上查了一下,是因为有了多个$执行所以报错,其他人都是angular中什么$apply什么的导致的,但是JavaScript的click事件怎么会导致种错误呢?实在不解,求大神指点啊....
angularjs内部有$timeout
先在你的controller中注入$timeout
$timeout(function() {
... // 执行你的click代码
});
click事件触发的时候,angular内部已经在做脏数据检查了,这个时候应该click事件bind的函数里面含有$apply。可以用$scope.$evalAsync(click函数)或$scope.$applyAsync(click函数)。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
把调用click事件的代码用setTimeout()包裹一层试试