angular - Ionic2:在ion-segment内使用chartjs

标签 angular ionic2 chart.js

我正在尝试将图表放置在ion-segment内。第一次加载页面时, Canvas 将显示在选定的段上。但是当我单击其他片段时,我收到此错误:

Cannot read property 'nativeElement' of undefined

我可以在canvas内看到一个空白的html标签,并且实际的chartjs iframe未被复制。我尝试了很多选择但找不到解决方案。还有其他选择可以使这项工作有效吗?请帮忙

我的ts代码:

// On entering it works without issue as the element is now available
ionViewDidEnter(){
        let c = this.canvas.nativeElement;
        this.set1(c);            
    }
 //Switch case executes and error is thrown on any other segment is placed
 switch (level) {
            case "0":
                let c = this.canvas.nativeElement;
                this.set1(c); 
                break;
            case "1":
                let c1 = this.canvas1.nativeElement;
                this.set2(c1);
                break;
            case "2":
                let c2 = this.canvas2.nativeElement;
                this.set3(c2);
                break;
        }

我的 HTML:

<div *ngSwitchCase="'easy'">
      <canvas #canvas></canvas>
</div>
<div *ngSwitchCase="'medium'">
     <canvas #canvas1></canvas>
</div>
<div *ngSwitchCase="'hard'">
     <canvas #canvas2></canvas>
</div>

最佳答案

我在 ion-segment 中使用 Chart.js 时遇到了同样的问题,并通过使用 [hidden] 指令解决了这个问题,例如

 <canvas #canvas1 [hidden]="selectedValue!=1"></canvas>
 <canvas #canvas2 [hidden]="selectedValue!=2"></canvas>
 <canvas #canvas3 [hidden]="selectedValue!=3"></canvas>

关于angular - Ionic2:在ion-segment内使用chartjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40932484/

相关文章:

javascript - 如何将数据从 csv 文件或 Excel 文件导出到 JavaScript 对象?

javascript - 来自 Java 程序的 ChartJS 折线图或条形图

css - 如何将焦点轮廓添加到 Material 按钮

angular - Ionic 4 如何从另一个页面获取数据

javascript - Angular 4 - Firebase - 检查用户是否已连接

html - 创建带有页眉和页脚的响应式网格

angular - Angular CLI 生成的 "spec.ts"文件有什么用?

javascript - 在 docker 中运行 ionic 框架不会创建本地文件夹/文件

node.js - 尝试从 github 创建示例项目时出现 ionic beta 错误

Javascript图表显示标签