在指令中使用$ watch

cswannabe

我已经使用highchart.js结合几个问题的解决方案绘制了图表。我了解指令的基本用法。但是,对于highchart.js,我在这里不太了解这段代码:

app.directive('highchart', function () {
    var direc = {};
    var link = function (scope, element, attributes) {
        scope.$watch(function () {
            return attributes.chart;
        }, function () {
            var charts = JSON.parse(attributes.chart);
            $(element[0]).highcharts(charts);
        })
    }
    direc.restrict = 'E';
    direc.link = link;
    direc.template = '<div></div>';
    //the replace method replaces the content inside the element it is called
    direc.replace = true;
    direc.scope = {};
    return direc;
})

Charts属性将接受图表属性的JSON数组。

有人可以解释功能内部发生了什么吗?感谢您的阅读。

Sudhanshu bhagwat

$ watch用于监视特定字段上的更改。在上述情况下,将在$ watch函数的第一个参数中监视attributes.chart,第二个参数实际检查修改后的数据并对其进行操作。您还可以在官方的角度文档中找到$ watch可以使用的其他选项:https : //docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$ watch

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章