Я использую angular-chart.js для рисования некоторых графиков.И я использую значения массива, чтобы установить значения для $scope.labels
и $scope.data
из базы данных.Я хочу сделать $scope.labels
и $scope.data
пустыми после каждого вызова функции.пожалуйста, найдите следующий код
angular.module("app", ["chart.js"])
.controller("LineCtrl", function ($scope) {
$scope.labels = [];
$scope.data = [[]];
$scope.graphFunc = function(array) {
for(var i =0; i < array.length; i++)
{
$scope.labels.push(array[i].name);
$scope.data[0].push(array[i].age)
}
$scope.onClick = function (points, evt) {
console.log(points, evt);
};
$scope.datasetOverride = [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }];
$scope.options = {
scales: {
yAxes: [
{
id: 'y-axis-1',
type: 'linear',
display: true,
position: 'left'
},
{
id: 'y-axis-2',
type: 'linear',
display: true,
position: 'right'
}
]
}
};
};
$scope.labels = [];
$scope.data = [[]];
});
Но тогда график не появляется.Обратите внимание, что мой массив является динамическим, и формат массива выглядит следующим образом
var arrayVal = [{name:A,age:10},{name:B,age:30}];
ОБНОВЛЕНО HTML
<canvas id="line" class="chart chart-line" chart-data="data"
chart-labels="labels" chart-series="series" chart-options="options"
chart-dataset-override="datasetOverride" chart-click="onClick">
</canvas>