我已经使用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数组。
有人能解释一下函数内部发生了什么吗?谢谢您的阅读。
$ watch用于监视特定字段上的更改。在上述情况下,将在$ watch函数的第一个参数中监视attributes.chart,第二个参数实际检查修改后的数据并对其进行操作。您还可以在官方的角度文档中找到$ watch可以使用的其他选项:https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$ watch
$ watch监视模型变更,一旦模型变更,更新的值从下面的代码中获取,并且根据要求,可以执行所需的操作。
$ scope。$ watch('ng-model-name',function(newval,oldval){如果(newval <0){$('#modelCustomer').modal('show');
}});