Я пытаюсь создать диаграмму, которая генерирует случайные числа, и она обновляет максимальное значение после нажатия на кнопку.
Это мой контроллер:
$scope.max = 1;
$scope.randomNumber = function(max,min) {
var arr = [];
for (var i = 0; i < 60; i++) {
arr.push(Math.floor(Math.random()*(max-min+1)+min));
}
return arr;
}
$('#chart').highcharts({
series: [{
data: (function () {
var data = [];
for (var i = 0; i < 60; i++) {
data.push({
x: i,
y: $scope.randomNumber($scope.max,0)[0]
});
}
return data;
}())
}]
});
И это HTML, который должен обновлять максимальное значение:
<button ng-click="max = 10">10</button>
<button ng-click="max = 100">100</button>
<button ng-click="max = 1000">1000</button>
<button ng-click="max = 10000">10000</button>
Однако он не обновляет максимальное значение. Какие-нибудь советы?
Здесь Plunker: http://plnkr.co/edit/N0UfORtSjYW5jaPGojXH?p=preview
При изменении максимального значения необходимо перерисовать диаграмму.
См. Plnkr. Я смотрю максимальное значение, и когда max changes вызывает функцию draw.
$scope.draw = function() {
$('#chart').highcharts({
series: [{
data: (function() {
var data = [];
for (var i = 0; i < 60; i++) {
data.push({
x: i,
y: $scope.randomNumber($scope.max, 0)[0]
});
}
return data;
}())
}]
});
}
$scope.draw();
$scope.$watch('max', function() {
$scope.draw();
});
Y
это массив. Я изменил$scope.randomNumber($scope.max,0)
на$scope.randomNumber($scope.max,0)[0]
и была сгенерирована диаграммаmax
значение, когда я нажимаю на кнопки.