Диаграмма не отображается при загрузке страницы

0

В настоящее время я использую угловые диаграммы в своем приложении. Я создал линейную диаграмму, которая отлично работала, однако при добавлении второй диаграммы (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>

Изображение 174551

  • 0
    Консоль показывает ошибки при загрузке страницы?
  • 0
    Вообще ничего
Показать ещё 2 комментария
Теги:
chart.js
angular-chart

1 ответ

0

Удалось решить проблему, используя следующую строку кода. Он немного взломан, но он работает в этой ситуации.

window.dispatchEvent(new Event('resize'));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню