Angular / SVG-将数据传递到SVG

时间:2018-10-08 14:00:55

标签: angular svg

我这里有个突如其来的飞车-https://stackblitz.com/edit/angular-vkwets?file=src%2Fapp%2Fdonuts.template.html

我有一个Angular组件,可以为传递给该组件的数组的每个数据点创建一个svg甜甜圈图。

我可以访问传递到组件中的数据,但是可以在svg中使用它。

我想使用传递给组件的数据更新svg中的'stroke-dasharray'。

类似stroke-dasharray=donut.percent 100-donut.perecent

<div>
  <ul>
    <li *ngFor="let donut of donutData">
      {{donut.percent}}
      <svg width="20%" height="20%" viewBox="0 0 42 42" class="donut">
        <circle class="donut-hole" 
                cx="21" 
                cy="21" 
                r="15.91549430918954" 
                fill="#fff"></circle>

        <circle class="donut-ring" 
                cx="21" 
                cy="21" 
                r="15.91549430918954" 
                fill="transparent" 
                stroke="#d2d3d4" 
                stroke-width="3"></circle>

        <circle class="donut-segment" 
                cx="21" 
                cy="21" 
                r="15.91549430918954" 
                fill="transparent" 
                stroke="green" 
                stroke-width="3" 
                stroke-dasharray="60 40"
                stroke-dashoffset="25"></circle>
      </svg>

    </li>
  </ul>
</div>

1 个答案:

答案 0 :(得分:2)

将值转换为字符串并使用attribute binding

[[String]]

有关演示,请参见this stackblitz