我使用的是Angular的4.4.4版本。在我app.component.html
我有这样的代码如何更新Angular 4中的SVG元素属性?
<button class="btn btn-primary" (click)="updatePosition()">Up</button>
<svg id="svg">
<image xlink:href="../assets/map.png" x="0" y="0" height="420px" width="420px"/>
</svg>
我想按下按钮时,动态更新x
和y
值。我尝试了各种方法来做到这一点,没有结果。
例如我用属性绑定[style.x.px]="variableX"
定义x
位置,但尽管按下按钮并更新variableX值没有发梗所以看起来我还是要更新x
位置。通常情况下,我会用简单的JavaScript来定位该图像,并对其执行el.setAttribute('x', value)
,但在角度上它不是那么简单,或者仅仅因为某种原因不起作用。
任何人都可以帮忙吗? :)
属性绑定不工作,因为它只是将它的初始值。它不检查它的变化。你有没有尝试过使用双向绑定? –
我可能会,但我寻求更好的解决方案来访问这些元素。我将不得不做一些更加紧凑的操作。 –
'[风格。]'绑定到'style'绑定的设置值。 'x.px'不是一个有效的CSS属性,所以它什么也不做。你尝试绑定到'[attr.x]'而不是(['attr.x] =“variableX”')? –
naeramarth7