gpt4 book ai didi

javascript - Angular Controller 中的 chart.js chart-click 传递参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:32 24 4
gpt4 key购买 nike

我正在使用 chart.js/angular-chart.js 在饼图中显示一些数据。

我需要这样的功能,当用户单击图表饼图内的标签时,单击事件将复制选定的图表值。

我可以通过这个 Action 触发事件:

$scope.chartClick = function() {
alert('ok');
}

这是我的标记:

 <canvas id="pie" class="chart chart-pie"
chart-data="data" chart-labels="labels" display="true" chart-click="chartClick()" chart-options="options"></canvas>

知道如何将一些参数传递给该事件以实际获取值吗?

编辑

完全 Controller :

.controller('InvestorLtvReportController', [
'$scope', '$http', '$state', function ($scope, $http, $state) {
$scope.labels = [];
$scope.data = [];
$scope.options = {
legend: {
display: true,
position: 'bottom',
labels: {
fontColor: 'rgb(255, 99, 132)'
}
}
};

$scope.chartClick = function (points, evt) {
console.log(points, evt);
};

$http({
url: 'http://myapi/api/Manage/GetUserRole',
method: "GET"
}).success(function (data, status) {
$scope.isInvestor = false;
angular.forEach(data, function (value, key) {
if (value == 'Investor') {
$scope.isInvestor = true;
}
});

if (!$scope.isInvestor) {
$state.go('accountlogin');
} else {
$http({
url: 'http://myapi/api/investor/GetInvestorLtvReport',
method: "GET"
}).success(function (data, status) {

angular.forEach(data, function (value, key) {
$scope.labels.push(value.Amortisation);
$scope.data.push(value.PercOfFund);
});
}).error(function (data, status) {
console.log(data);
});
}
})
}
])

最佳答案

你可以这样做,

<canvas id="pie" chart-click="onClick" class="chart chart-pie"chart-data="data" chart-labels="labels"></canvas> 

Controller :

app.controller('AppCtrl', ['$scope', function($scope){
$scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
$scope.data = [300, 500, 100];
$scope.onClick = function (points, evt) {
console.log(points, evt);
};
}]);

DEMO

关于javascript - Angular Controller 中的 chart.js chart-click 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40349102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com