如何使用按钮单击增加/减小Html5 SVG Circle的大小?

时间:2016-12-06 12:53:30

标签: angular

以下代码会增加/减少按钮click上的文字大小。

<div class="buttons">
    <button (click)="fSize = fSize + 1">+</button>
    <button (click)="fSize = fSize - 1">-</button>
</div>

<br>

<div [ngStyle] = "{'font-size': fSize}">
    HEY THERE
</div>

使用类似的逻辑,我希望通过一个圆来实现这一点,其中圆的半径r在按钮点击时增加/减少。

<svg width="100" height="100">
  <circle cx="50" cy="50" r="20" stroke="green" stroke-width="4" fill="yellow" />
</svg>

我如何实现它?

1 个答案:

答案 0 :(得分:2)

您必须更改r属性,如下所示:[attr.r]="radius"

@Component({
  selector: 'my-app',
  template: `
    <div>
      <h2 (click)="radius = radius + 10">Hello {{name}}</h2>
      <svg width="100" height="100">
        <circle cx="50" cy="50" [attr.r]="radius" stroke="green" stroke-width="4" fill="yellow" />
      </svg>
    </div>
  `,
})
export class App {
  name:string;

  radius = 20;

  constructor() {
    this.name = 'Angular2'
  }
}

live-demo:https://plnkr.co/edit/PkWCHdDAIW1UkZvBsZka?p=preview