В настоящее время я использую угловые диаграммы в своем приложении. Я создал линейную диаграмму, которая отлично работала, однако при добавлении второй диаграммы (pie) первая диаграмма не отображается на переднем конце, пока я не завис на ней или не изменил размер окна.
У меня нет событий наведения, поэтому я не уверен, почему это происходит.
Вот мой контроллер
app.controller('dashboardController', ['$scope', '$http', 'Page', 'authenticationService', function ($scope, $http, Page, authenticationService) {
// Page Setup
Page.setTitle('Dashboard');
Page.setSubTitle('Transport Overview');
$scope.$emit('pageLoading');
$http({
url: '/api/dashboard/',
method: 'GET',
headers: authenticationService.getAuthToken(),
}).success(function (data) {
$scope.dashboard = data;
$scope.dashboard.revenuePerDayLabels = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
$scope.dashboard.weeklyJobIncome = [data.weeklyJobIncome];
$scope.dashboard.weekVehicleRevenueLabels = [];
$scope.dashboard.weekVehicleRevenueData = [];
angular.forEach($scope.dashboard.weekVehicleRevenue, function (item) {
$scope.dashboard.weekVehicleRevenueLabels.push(item.registrationNumber);
$scope.dashboard.weekVehicleRevenueData.push(item.vehicleRevenue);
});
$scope.$emit('pageLoaded');
}).error(function () {
$scope.$emit('pageLoaded');
});
}]);
И соответствующий HTML-код
Линейный график
<canvas id="line" class="chart chart-line"
chart-data="dashboard.weeklyJobIncome"
chart-labels="dashboard.revenuePerDayLabels"
chart-series="series">
</canvas>
Круговая диаграмма
<canvas id="doughnut" class="chart chart-pie"
chart-data="dashboard.weekVehicleRevenueData"
chart-labels="dashboard.weekVehicleRevenueLabels">
</canvas>
Удалось решить проблему, используя следующую строку кода. Он немного взломан, но он работает в этой ситуации.
window.dispatchEvent(new Event('resize'));