Angular4 svg rect动态传递值

时间:2017-12-21 15:07:16

标签: angular svg rect

我正在构建一个“BarsChartComponent”,我正在使用svg rect来显示条形图。我想要做的是动态传递宽度值。代码波纹管不显示任何结果:

要显示的组件对象:

items:any=[{Country:"Canada", Value:"1000"}, 
               {Country:"USA", Value:"800"},
               {Country:"Costa Rica", Value:"400"},
               {Country:"Brazil", Value:"500"}];

组件模板:

  <svg class="chart" width="420" height="150" aria-labelledby="title" role="img">
    <ng-template *ngFor="let item of items">
        <rect [attr.width]="item.Value" height="19" y="20"></rect>
    </ng-template>
    </svg> 

我猜这是语法错误.. 欢迎任何帮助!

1 个答案:

答案 0 :(得分:1)

使用ng-container代替ng-template

<svg class="chart" width="420" height="150" aria-labelledby="title" role="img"> 
  <ng-container *ngFor="let item of items">
    <rect [attr.width]="item.Value" height="19" y="20"></rect> 
  </ng-container>
</svg>  

Demo