是否可以動態創建圖表,同時仍然有數據綁定到作用域?動態創建帶有數據綁定的角度圖
我有以下代碼
<!DOCTYPE html>
<head>
<script src='Chart.js'></script>
<script src='angular.js'></script>
<script src='angular-chart.js'></script>
</head>
<body ng-app="app" ng-controller="BarCtrl">
<h1>Chart Test</h1>
<canvas id="myChart"> chart-series="series" </canvas>
<script type="text/javascript">
angular.module("app", ["chart.js"])
.controller("BarCtrl", function($scope, $timeout) {
$scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
$scope.data = [65, 59, 80, 81, 56, 55, 40];
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: $scope.labels, //should be a reference
datasets: [{
data: $scope.data //should be a reference
}]
}
});
$timeout(function() {
console.log("Time out now");
$scope.data = [28, 48, 40, 19, 86, 27, 90];
}, 3000);
});
</script>
</body>
</html>
這顯然不更新超時後的圖表。如果模板變體
<canvas class="chart chart-line" chart-data="data" chart-labels="labels"
chart-series="series" chart-click="onClick"></canvas>
不是一個選項,因爲配置會動態變化嗎?
試$範圍。$適用()在你的超時功能 –
看看在AngularJS定製指令。 – d4rty