将SVG属性与Angular 绑定

nvbavucw  于 2022-09-18  发布在  Java
关注(0)|答案(2)|浏览(167)

我的SVG中有一些元素,比如:

<div ng-app="myApp" ng-controller="myCtrl">
    ...
    <svg ...>
        <line id="line1" x1="140" x2={{x2}} y1="10" y2="10" transform="{{rotate}}"/>
        ...
    </svg>
</div>

其中x2是结束坐标,旋转是形式rotate(...,...,...),它们都是字符串类型。当值更改时,此线元素不会更改。它既不旋转也不正确显示x2属性。

顺便说一句,日期绑定编程正确,因为我也在<p>标记中使用了{{x2}},并且它被正确显示。

ao218c7q

ao218c7q1#

我知道这很古老,但又一次偶然发现了这个问题,所以我想我会提供正确的方法。在较新的ANGLE中,您需要使用以下语法:

<line id="line1" [attr.x1]="140" [attr.x2]="x2" [attr.y1]="10" [attr.y2]="10" [attr.transform]="rotate"/>
i2byvkas

i2byvkas2#

要控制SVG的行转换属性,需要使用ng-attr-myAttr方法,本例中的myAttr是SVG行的x2transform属性。例如,您可以按如下方式编写SVG行:

<line id="line1" x1="140" ng-attr-x2={{x2}} y1="10" y2="10" ng-attr-transform="{{rotation}}" />

相关问题