我正在尝试创建一个绘制d3条形图的角度指令。我无法准确找出添加D3绘图代码的位置,以便每次图表值更改时都会重新绘制图表(这些值与隔离范围相关联)。我试图将此代码放在链接函数中,但这只会使图表呈现一次。每次范围更改时都不会调用它。请参阅下面的代码或完整的jsFiddle here。
function barchart() {
var directive = {
link: link,
restrict: 'A',
scope: {
values: '='
}
};
return directive;
function link(scope, element) {
// Draw D3 chart here
element.html(scope.values);
};
}
答案 0 :(得分:1)
您可以观察更改:
function link(scope, element){
scope.$watch("values", function(newVal, oldVal){
// do whatever you need to regenerate the graph
});
}