0

我正在尝试创建一个将绘制 d3 条形图的角度指令。我不知道在哪里添加 D3 绘图代码,以便在每次图表值更改时重新绘制图表(这些值与隔离范围相关联)。我试图将此代码放在链接函数中,但这只会呈现图表一次。每次范围更改时都不会调用它。请参阅下面的代码或此处的完整 jsFiddle 。

function barchart() {    
    var directive = {
        link: link,
        restrict: 'A',
        scope: {
            values: '='
        }
    };
    return directive;

    function link(scope, element) {
        // Draw D3 chart here
        element.html(scope.values);
    };
}
4

1 回答 1

1

您可以 $watch 更改:

function link(scope, element){
   scope.$watch("values", function(newVal, oldVal){
      // do whatever you need to regenerate the graph
   });
}
于 2015-01-23T23:42:35.677 回答