无法将角度控制器的数据提取到HTML中

时间:2018-08-24 10:05:35

标签: javascript angularjs angularjs-ng-repeat angular-components angular-controller

我正在使用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".

我在做什么错了?

1 个答案:

答案 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