ChartJs не работает в Angular 4 без ошибок - PullRequest
0 голосов
/ 06 января 2019

Я новичок в диаграмме JS, пытаюсь реализовать приложение в Angular 4. хотя никаких ошибок в кодовой диаграмме не появляется в браузере. Я привел много документации и онлайн-материалов для реализации диаграммы. Я потратил почти 3 дня, чтобы выяснить причину. Пожалуйста, помогите мне исправить то же самое спасибо

Here is my code 
dependencies:

"chart.js": "^ 2.7.3"

в угловой cli.json

"../ node_modules / chart.js / расстояние / Chart.js",

в компоненте

import {Chart} из 'chart.js';

ngOnInit() {
    const el = <HTMLCanvasElement> document.getElementById('myChart');
    const ctx = el.getContext('2d');

    console.log(el);
    console.log(ctx);

    var myChart = new Chart(ctx, {
      type: 'bar',
      data: {
          labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
          datasets: [{
              label: '# of Votes',
              data: [12, 19, 3, 5, 2, 3],
              backgroundColor: [
                  'rgba(255, 99, 132, 0.2)',
                  'rgba(54, 162, 235, 0.2)',
                  'rgba(255, 206, 86, 0.2)',
                  'rgba(75, 192, 192, 0.2)',
                  'rgba(153, 102, 255, 0.2)',
                  'rgba(255, 159, 64, 0.2)'
              ],
              borderColor: [
                  'rgba(255,99,132,1)',
                  'rgba(54, 162, 235, 1)',
                  'rgba(255, 206, 86, 1)',
                  'rgba(75, 192, 192, 1)',
                  'rgba(153, 102, 255, 1)',
                  'rgba(255, 159, 64, 1)'
              ],
              borderWidth: 1
          }]
      },
      options: {
          scales: {
              yAxes: [{
                  ticks: {
                      beginAtZero:true
                  }
              }]
          }
      }
  });

}

в html

 <canvas id="myChart" width="400" height="400"></canvas>

Я не получаю сообщение об ошибке в broswer, и я могу напечатать как собственный элемент, так и контекст, а также объект Chart. Не знаю, почему диаграмма не отображается в браузере. Пожалуйста, помогите

nativeEliment on console giving-
<canvas _ngcontent-c1="" height="0" id="myChart" width="0" class="chartjs-render-monitor" style="display: block; height: 0px; width: 0px;"></canvas>

context on console:
CanvasRenderingContext2D {canvas: canvas#myChart, globalAlpha: 1, globalCompositeOperation: "source-over", filter: "none", imageSmoothingEnabled: true, …}

chart object on console.log-Chart {id: 0, ctx: CanvasRenderingContext2D, canvas: canvas#myChart.chartjs-render-monitor, config: {…}, width: 0, …}

1 Ответ

0 голосов
/ 19 июля 2019

Я понял, что поток несколько устарел, однако, чтобы сэкономить другие нервы, которые я потратил на это, я предоставлю:

Холст (- сейчас -) должен быть вложен в display:block элемент стиля

Поскольку я использую Angular (CLI) 8.0.3 и Chart.js v2.8.0, это также не решит вашу проблему.

Тем не менее, я также столкнулся с рядом других проблем, которые вы могли бы рассмотреть в этой точке: почти все остальные фрагменты, которые я нашел до сих пор, устарели. Проверьте аннотацию @ViewChild, а также Rx-импорт, если они актуальны (даже если у вас не будет ошибок компиляции)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...