我正在使用Angular 1.6。 我正在尝试从组件控制器获取SVG元素的x和y位置。
this.painterModel = [];
var imageRef = {};
imageRef.path='assets/images/sample.png';
imageRef.xPos = 100;
imageRef.yPos = 100;
this.painterModel.push(imageRef);
当前,列表只有一个元素。 HTML看起来像这样。
<svg id="frontView" width="1000" height="1000">
<image ng-repeat="x in $ctrl.painterModel" href="x.path" x="x.xPos" y="x.yPos" />
</svg>
我总是在控制台上看到此错误,
app.js:9756 Error: <image> attribute x: Expected length, "x.xPos".
app.js:9756 Error: <image> attribute y: Expected length, "x.yPos".
我在做什么错了?
答案 0 :(得分:0)
{{ rendering }}
代替实际值呢?
<image ng-repeat="x in $ctrl.painterModel"
ng-href="{{ x.path }}"
x="{{ x.xPos }}"
y="{{ x.yPos }}"
/>
现在,您只需将字符串'x.xPos'
传递给属性,而不是x.xPos
的值。这就是为什么出现错误预期长度“ x.xPos” 的原因。另外,使用ng-href
代替href
。