使用angularJS创建svg元素

cli*_*oid 14 svg angularjs

我正在尝试使用angular创建一个svg元素.目前我能够进行ng-repeat但是当我尝试为我的属性赋值时,我得到一个错误.

<g ng-repeat="cell in row">
    <rect x="{{cell.node.x}}" y="{{cell.node.y}}"></rect>
    <text x="10" y="10">{{cell.node.name}}</text>
</g>
Run Code Online (Sandbox Code Playgroud)

有趣的cell.node.name确实工作并显示名称nicelly但cell.node.x和cell.node.y,相应地给我以下错误错误:属性x ="cell.node.x"的值无效错误:属性y ="cell.node.y"的值无效任何想法?

Jar*_*nal 23

较新版本的Angular功能ngAttr属性绑定,应避免在Angular启动之前浏览器验证时导致的错误.

示例(来自Angular docs):

<svg>
  <circle ng-attr-cx="{{cx}}"></circle>
</svg>
Run Code Online (Sandbox Code Playgroud)

  • 即使在camelCase SVG属性的情况下,Angular也有一种方法.而不是`ng-attr-viewBox`,写'ng-attr-view_box`.然后,当Angular对为SVG准备好的属性进行非规范化时,它知道在下划线之后将字母大写.这来自相同的[doc](http://docs.angularjs.org/guide/directive) Jarnal在他的回答中指的是那个. (3认同)