【问题标题】:How do I implement zingchart into angular2如何将 zingchart 实现为 angular2
【发布时间】:2016-11-26 16:14:37
【问题描述】:

我有一个想要实施 zingcharts 的现有项目。

我尝试了 3 个不同的教程,主要来自“https://blog.zingchart.com/2016/07/19/zingchart-and-angular-2-charts-back-at-it-again/”博客。

但是我无法在我的项目中使用它。 所以我决定先尝试以最基本的方式实现它,然后再尝试更好的方式。这是我做的,但它还没有购物。

作为 angular2 的新手,我不太确定这是否可行。

我去了ZingChart网站,尝试实现这个基本的例子->https://www.zingchart.com/docs/getting-started/your-first-chart/

所以我建立了2个文件chart.ts和chart.component.html并实现了

"<script src="https://cdn.zingchart.com/zingchart.min.js"></script>"

在 index.html 中

//chart.ts

import { Component } from '@angular/core';

@Component({
    selector: 'rt-chart',
    templateUrl: './chart.component.html'

})

export class Chart
{

}

//chart.component.html

<!--Chart Placement[2]-->
  <div id="chartDiv"></div>
  <script>
    var chartData = {
      type: "bar",  // Specify your chart type here.
      title: {
        text: "My First Chart" // Adds a title to your chart
      },
      legend: {}, // Creates an interactive legend
      series: [  // Insert your series data here.
          { values: [35, 42, 67, 89]},
          { values: [28, 40, 39, 36]}
  ]
};
zingchart.render({ // Render Method[3]
  id: "chartDiv",
  data: chartData,
  height: 400,
  width: 600
});
  </script>

我在我已经工作的网站中将其称为

它不显示。我究竟做错了什么?有什么我想念的吗。 Angular2 对我来说很新。

谢谢

【问题讨论】:

    标签: javascript angular typescript charts zingchart


    【解决方案1】:

    使用最新的 angular2 版本 (@2.2.3),您可以像这样利用特殊的 ZingChart 指令:

    zing-chart.directive.ts

    declare var zingchart: any;
    
    @Directive({
      selector : 'zing-chart'
    })
    export class ZingChartDirective implements AfterViewInit, OnDestroy {
      @Input()
      chart : ZingChartModel;
    
      @HostBinding('id') 
      get something() { 
        return this.chart.id; 
      }
    
      constructor(private zone: NgZone) {}
    
      ngAfterViewInit() {
        this.zone.runOutsideAngular(() => {
          zingchart.render({
            id : this.chart.id,
            data : this.chart.data,
            width : this.chart.width,
            height: this.chart.height
          });
        });
      }
    
      ngOnDestroy() {
        zingchart.exec(this.chart.id, 'destroy');
      }
    }
    

    ZingChartModel 只是图表的模型:

    zing-chart.model.ts

    export class ZingChartModel { 
      id: String;
      data: Object;
      height: any;
      width: any;
      constructor(config: Object) {
        this.id = config['id'];
        this.data = config['data'];
        this.height = config['height'] || 300;
        this.width = config['width'] || 600;
      }
    }
    

    这里完成了Plunker Example

    【讨论】:

    • 感谢分配 Yurzui。会检查出来,让你知道!
    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多