Html AngularJS ng重复+;IE10中的SVG绑定错误?

Html AngularJS ng重复+;IE10中的SVG绑定错误?,html,internet-explorer,angularjs,svg,cross-browser,Html,Internet Explorer,Angularjs,Svg,Cross Browser,我试图使用AngularJS来填充SVG。在Firefox和Chrome中,这一点非常有效,但是在IE中,我只看到最后一个形状(无论是哪个形状) HTML: 这是IE中已知的错误吗?有什么解决办法吗 编辑: 经过进一步调查,ng repeat中的所有项目似乎都被最后一个项目替换,这也发生在SVG之外,在绑定到同一集合的输入中。您正在使用(因此,每次都会覆盖以前的版本)项变量,因为您没有创建新的作用域版本: var demoItem = function (cnt, color) { item

我试图使用AngularJS来填充SVG。在Firefox和Chrome中,这一点非常有效,但是在IE中,我只看到最后一个形状(无论是哪个形状)

HTML:

这是IE中已知的错误吗?有什么解决办法吗

编辑:

经过进一步调查,ng repeat中的所有项目似乎都被最后一个项目替换,这也发生在SVG之外,在绑定到同一集合的输入中。

您正在使用(因此,每次都会覆盖以前的版本)
变量,因为您没有创建新的作用域版本:

var demoItem = function (cnt, color) {
  item = {}; <-- here
  ...

谢谢事实上,它在Firefox和Chrome上都能正常工作,这让我完全迷失了方向。@DannyVarod是的,它在FF/Chrome上也能正常工作,这是相当令人惊讶的:)
var app = angular.module('MyModule', [])
    .controller('MyCtrl', function ($scope, $http, AudioSrv) {

    var demoItem = function (cnt, color) {
        item = {};
        item.x = 0;
        item.y = 0;
        item.width = 100;
        item.height = 100;
        item.fill = color;
        item.z = cnt + 1;
        return item;
    };

    var setItem = function (item, angle, scaleX, scaleY, x, y) {
        item.tx1 = -item.width * 0.5;
        item.ty1 = -item.height * 0.5;
        item.angle = angle;
        item.scaleX = scaleX;
        item.scaleY = scaleY;
        item.tx2 = x;
        item.ty2 = y;
        return item;
    };

    $scope.items = [
        setItem(demoItem(0, 'black'), 0, 2, 2, 0, 0),
        setItem(demoItem(1, 'blue'), 0, 1, 1, 0, 0),
        setItem(demoItem(2, 'orange'), 0, 0.5, 0.5, 0, 0),
        setItem(demoItem(3, 'green'), -90, 2, 2, 200, 150),
        setItem(demoItem(4, 'purple'), 45, 0.5, 0.5, 200, 150)
    ];
});
var demoItem = function (cnt, color) {
  item = {}; <-- here
  ...
var demoItem = function (cnt, color) {
  var item = {};
  ...