ここからNVD3角度ディレクティブを使用して棒グラフを作成しようとしています: http://krispo.github.io/angular-nvd3/#/
私が使用しているグラフはこれです: http://krispo.github.io/angular-nvd3/#/discreteBarChart
これは、ページにグラフを作成するための私の html です (このシナリオでは、コンテキストは重要ではないようです)。
<nvd3 options="options"
data="top10bar"
ng-mouseenter="mouseEnterEvent($event)"></nvd3>
これはコントローラーのコードです (タグが含まれる)
app.controller('BarChartController', function ($scope) {
$scope.options = {
chart: {
type: 'discreteBarChart',
height: 350,
margin: {
top: 20,
right: 20,
bottom: 60,
left: 55
},
width: 500,
x: function (d) {
return d.label;
},
y: function (d) {
return d.value;
},
showValues: true,
transitionDuration: 500,
xAxis: {
axisLabel: 'X Axis'
},
yAxis: {
axisLabel: 'Y Axis',
axisLabelDistance: 30
},
tooltips: false,
discretebar: {
rectClass: ['discreteBar', 'tableRow']
},
interactive: true
}
};
$scope.mouseEnterEvent = function (event) {
console.log("EVENT!");
console.log(event);
};
$scope.$on('elementMouseover.tooltip', function (event, data) {
console.log("In scope.on");
console.log(event);
console.log(data);
console.log("end");
});
$scope.$on('tooltipShow.directive', function (angularEvent, event) {
angularEvent.targetScope.$parent.event = event;
angularEvent.targetScope.$parent.$digest();
});
コントローラーの下部に表示される 3 つのイベント ハンドラーのうち、nvd3 で ng-mouseenter オプションが指定されているため、最初のハンドラーのみが機能します。ただし、これは、マウスがチャート div 全体に入ると機能します。私が望むのは、個々のバーでマウスオーバーを検出して、それを強調表示してからビューの別の部分を強調表示できるようにすることです。
ここで私が達成しようとしていることをどのように実行しますか? どんな助けでも大歓迎です、乾杯!