Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - angular directive中调用highchart报错

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

滿天的星座滿天的星座2738 Tage vor645

Antworte allen(2)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-05-15 16:57:01

    问题出在对象上,复制下对象就可以了

    Antwort
    0
  • PHPz

    PHPz2017-05-15 16:57:01

    我觉得应该是你link里的scope.$watch()

    Antwort
    0
  • StornierenAntwort