【问题标题】:How to get rid of highcharts 13 error in angular?如何摆脱角度中的highcharts 13错误?
【发布时间】:2021-02-16 08:04:56
【问题描述】:

您好,我正在开发 Angular,我想要此功能,例如在选项卡之间单击并显示图表时在部分之间切换。

我收到#13 error 并且图表没有显示在第二个选项卡中,如何在选项卡之间切换时执行此操作。

这是迄今为止尝试过的代码: Stackblitz

任何解决方案都会有所帮助。

【问题讨论】:

  • 请把代码复制到这里。

标签: javascript angular highcharts angular8


【解决方案1】:

它不起作用,因为您正在删除/读取每个 If 的呈现容器。将容器移到条件渲染差异 (*ngIf) 之外:

<div> <!-- rendering root -->
  <div>
    <button type="button" (click)="ShowDiv('A');ok()">Show A</button>
    <button type="button" (click)="ShowDiv('B');ok()">Show B</button>
    <button type="button" (click)="ShowDiv('C');ok()">Show C</button>
  </div>
  <div id="container">
    <div *ngIf="currDiv == 'A'"></div>
    <div *ngIf="currDiv == 'B'"></div>
    <div *ngIf="currDiv == 'C'"></div>
  </div>
</div>

https://stackblitz.com/edit/angular-showdivonclicktoggle-z2mqb2?file=src/app/app.component.html 更新: 确保永远不要在 ok 函数中删除 div 容器。

#line 96:
Highcharts.chart('container1', {}) // don't do this
Highcharts.chart('container', { /** new chart */ })

还有为什么你需要 Ok,你可以使用 ShowDiv? 还要在对象外创建 click 函数(第 173 行) 移除容器或用新容器替换它就像爬树并移除您坐在的树枝。

【讨论】:

  • 是的,看起来不错,但是如果我再给一张图表 stackblitz.com/edit/… 会发生什么情况,就像这样它给了我 #13 错误。
【解决方案2】:

您可以只创建一个container 并在单击按钮后更新图表。 它看起来更简单,如果你愿意,你也可以添加这些条件。

API:https://api.highcharts.com/class-reference/Highcharts.Chart#update
演示:https://stackblitz.com/edit/angular-showdivonclicktoggle-m54shc

【讨论】:

    猜你喜欢
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多