问题描述
在指令中掉用highchart报错了245个错,报错内容是 illegal invocation 和 digest 循环达到上限,代码如下
.directive(’highchart’,function($timeout){ return{restrict:’E’,template:’<p></p>’,scope:{ config:’=’},link:function(scope, ele, attr) { var handle; scope.$watch(’config’,function(cfg){if(handle){ $timeout.cancel(handle);}handle = $timeout(function(){ console.log(ele.find(’p’),scope.config) ele.find(’p’).highcharts(scope.config)},250) })} }})
我在chrome的控制台里把log的变量调用是没报错的,highchart动作何处触发了angular的循环
问题解答
回答1:问题出在对象上,复制下对象就可以了
回答2:我觉得应该是你link里的scope.$watch()