Что я пытаюсь сделать: я создаю одностраничное приложение с помощью Angular UI-Router. На одной из моих страниц есть линейная диаграмма, поэтому я использую angular-chart.js.
Чего я не понимаю: я не понимаю, как заставить диаграммы отображаться в состоянии UI-Router. Я могу заставить график работать, если не включу его в одностраничное приложение. У меня есть ощущение, что мне нужно добавить контроллер в состояние UI-Router, содержащее метки, серии и данные $scope, но я не смог заставить его работать должным образом.
Код Angular-Chart.js
var chartApp = angular.module('myApp', ['chart.js']);
chartApp.controller("LineCtrl", function ($scope) {
'use strict';
$scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
$scope.series = ['Motivation', 'Workload'];
$scope.data = [
[65, 59, 80, 81, 56, 55, 40],
[28, 48, 40, 19, 86, 27, 90]
];
$scope.onClick = function (points, evt) {
console.log(points, evt);
};
});
Код UI-маршрутизатора
var myApp = angular.module('myApp', ['ui.router']);
myApp.config(function($stateProvider, $urlRouterProvider) {
'use strict';
// For any unmatched url, redirect home
$urlRouterProvider.otherwise('/home');
$stateProvider
// chart page
.state('charts', {
url: '/charts',
templateUrl: 'app/charts.html'
});
});