在指令中掉用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的循環