javascript - Angular2 - 具有 ng 风格的 SVG

标签 javascript angularjs typescript svg

我正在使用 ng-repeat 绘制 SVG 线条,并希望更改每条线的翻译。但是,使用 ng-attr-style 我无法应用样式。

我的组件.js:

import {Component} from 'angular2/core';

@Component({
    selector: 'my-component',
    templateUrl: 'my-component.html'
})

export class MyComponent{
  lines: [
    { translateX: 0.0, translateY: 0.0, weight: 0.40, x1: 86.69, y1: 1, x2: 98.91, y2: 1 },
{ translateX: 0.0, translateY: 0.0, weight: 0.40, x1: 85.31, y1: 9.67, x2: 98.23, y2: 9.67 }
  ]
}

我的组件-html:

<svg id="lines" viewBox="0 0 320.6 542.59">
  <line *ngFor="let line of lines" ng-attr-style="{'transform': 'translate('+line.translateX+'px, ' + line.translateY+'px)'}" class="line" [attr.x1]="line.x1" [attr.y1]="line.y1" [attr.x2]="line.x2" [attr.y2]="line.y2"/>
</svg>

这是我在检查 dom 中的元素时看到的内容:

<line _ngcontent-ssx-9="" class="line" ng-attr-style="{'transform': 'translate('+line.translateX+'px, ' + line.translateY+'px)'}" x1="189.1" y1="226.41" x2="212.06" y2="226.41"></line>

最佳答案

ng-attr-* 正在由 Angular 1 使用,您应该使用 [attr.style](属性绑定(bind))

[attr.style]="{'transform': 'translate('+line.translateX+'px, ' + line.translateY+'px)'}"

关于javascript - Angular2 - 具有 ng 风格的 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43620753/

相关文章:

angularjs - 使用 Canvas 和 AngularJS

javascript - 使每次调用返回的匿名函数成为相同的实例

typescript :映射类型中的枚举键

Typescript Pick<> 类型失败 : Argument of type '"foo "' is not assignable to parameter of type ' Pick<Bar, "foo">'

javascript - 正则表达式密码验证 - Codewars

javascript - EmberJS 和 Web 组件 : extend an existing HTML tag within an initializer (is it possible? )

javascript - 从多个下拉列表中选择项目后提交表单 - JavaScript

javascript - Mediaelement 音量控制在 IE8 上不可见

javascript - NG-显示令人恼火的图像位移

javascript - ng-repeat-start 具有 3 个不同的 TR