双方向のデータバインディングとチャートのクリックイベントをサポートする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の方法で両方のケースを処理する方法を提案してください。