2

双方向のデータバインディングとチャートのクリックイベントをサポートするAngularJSでHighChartsのディレクティブを作成しようとしています。

指令:

app.directive('highchart', function () {
    return {
        restrict: 'E',
        template: '<div></div>',
        replace: true,
        link: function (scope, element, attrs) {
             scope.$watch(scope.example_chart, function() {
             var chart = JSON.parse(attrs.chart)
             element.highcharts(chart);
             }
        }
    }
});

さて、HTML を次のように書くと、次のようになります。

<div>            
     <highchart chart='example_chart'></highchart>
</div>

クリック イベントはサポートしていますが、双方向のデータ バインディングはサポートしていません。

そして、式として渡される場合:

<div>            
     <highchart chart='{{example_chart}}'></highchart>
</div>

双方向のデータ バインディングをサポートしていますが、クリック イベントの example_chart の JSON で記述された関数は解析されないため、機能しません。

したがって、 AngularJSの方法で両方のケースを処理する方法を提案してください。

4

1 に答える 1