繁体   English   中英

如何在下拉菜单上单击Angular 2显示ng2-chart?

[英]How to display a ng2-chart with Angular 2 on dropdown menu click?

我希望如果用户按下一个按钮,则图表将在页面上显示op。 我想将此html写入innerHTML:

<div style="display: block">
<canvas baseChart
      [datasets]="barChartData"
      [labels]="barChartLabels"
      [options]="barChartOptions"
      [chartType]="barChartType"
      [legend]="barChartLegend"></canvas>
</div>

我试图这样复制它,但图表未显示op。 我认为它不能很好地读取属性。

document.getElementById("info").innerHTML = " <div style=\"display: block\">\n" +
  "  <canvas baseChart\n" +
  "          [datasets]=\"barChartData\"\n" +
  "          [labels]=\"barChartLabels\"\n" +
  "          [options]=\"barChartOptions\"\n" +
  "          [chartType]=\"barChartType\"\n" +
  "          [legend]=\"barChartLegend\"></canvas>\n" +
  "</div>  some text <br>\n" +
  "  some more text: <strong> "+ this.item + "</strong><br>\n" +
  "\n" +
  "  some more text:  <br>\n" +
  "  Monday: <strong> " + this.percentMonday + "%</strong>  <br>\n" 

但是,当我将其放在html文件中时,它会正确显示。 我该如何实现? 提前致谢

   div class="dropdown" dropdown [dropdownToggle]="false">
  <button class="btn btn-primary" dropdown-open>Kies een stad voor meer info</button>
  <ul class="dropdown-menu">

    <li value="Amsterdam" (click)="goToAmsterdam()"><a>Amsterdam</a></li>



  </ul>

</div>

如果您不必一定要使用innerHTML ,这是很容易的:首先,如果您使用的是Angular(2),请不要使用本机JavaScript。 其次,只需将此行添加到您的代码中。

相应控制器内的JS:

//...
export class YOURCOMPONENT implements OnInit {
  showChart: boolean; // store toggle state of the chart

  constructor () { }

  ngOnInit(): void {
    this.showChart = false; // hide chart at the beginning
  }
}

HTML:

<div *ngIf="showChart">
    <canvas baseChart
      [datasets]="barChartData"
      [labels]="barChartLabels"
      [options]="barChartOptions"
      [chartType]="barChartType"
      [legend]="barChartLegend"></canvas>
</div>
<button (click)="showChart=!showChart">Toggle Chart</button>

(click)="showChart=!showChart"表示,单击按钮后, showChart的值将从true变为false,反之亦然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM