0

いくつかのデータを繰り返すためにangular.jsを使用しています。バインディングの1つは、x座標とy座標を計算し、これらをng-style-bindingで設定します。これは、IE8を除くすべてのブラウザーで正常に機能します。IE8では、関数を実行していないようです。

しかし、テキストとして{{}}バインディングを使用して出力した場合、正しく出力されますが、属性を使用した場合は正しく出力されません。

私のhtmlは次のようになります:

<span ng-repeat="obj in item.products" class="product-point" ng-style="getPos(obj.point.x, obj.point.y, index)">
    <img ng-src="Images/add-button.png" width="100%" ng-click="addItemToList(obj.id)"/>
</span>

そして、getPos関数は次のようになります。

$scope.getPos=function(x, y) {
    x = (parseFloat(x) * 0.01) * imageSize.width;
    y = (parseFloat(y) * 0.01) * imageSize.height;

    return "left:"+Math.round(x)+"px; " +"top:"+Math.round(y)+"px";
} 

何か案は?

4

1 に答える 1

2

object { top: y, left: x }文字列の代わりに返す場合は機能するようです。

于 2012-11-19T08:33:02.593 に答える