另一个 AngularJS 错误:ngRepeat:dupes



我正在玩Angular,我偶然发现了另一个问题。我正在尝试从外部js文件中提取数据,但收到"错误:ngRepeat:dupes"错误。

<div class="productRow" ng-repeat="prod in productsList">

因此,按照错误消息中提供的方向,我添加了"跟踪方式">

<div class="productRow" ng-repeat="prod in productsList track by $index">

我的数据出现了,但现在它只多次重复一个项目。

请查看此链接以获取完整代码。

我做错了什么吗?我的意思是我显然是,但我做错了什么?

谢谢!

Angular 不是问题,它显示您提供给它的数组。

在脚本中.js如果您在生成后添加console.log($scope.productsList);,您将明白我的意思。

您的问题在此行下

if (productItems[ii] == products[jj].id)

您没有重置thisProduct

在下面添加这个thisProduct = {};

请看这里 http://plnkr.co/edit/bj0NWJnjgNUbHcFX1Wvw?p=preview

  for (var ii = 0; ii < productItems.length; ii++) {
                    for (var jj = 0; jj < products.length; jj++) {
                        if (productItems[ii] == products[jj].id) {
 //add this line to your code
                          thisProduct = {};
                            thisProduct.prodIdxId = products[jj].id;
                            thisProduct.skuId = products[jj].skuId;
                            thisProduct.title = products[jj].title;
                            thisProduct.size = products[jj].size;
                            thisProduct.price = products[jj].price;
                            thisProduct.discount_price = products[jj].disc_price;
                            thisProduct.discount_msg = products[jj].discount_msg;
                            thisProduct.ship_save = products[jj].ship_save;
                            thisProduct.free_shipping = products[jj].free_shipping;
                            thisProduct.weight = products[jj].weight;
                            thisProduct.rating = products[jj].rating;
                            thisProduct.img = products[jj].img;
                            thisProduct.out_of_stock = products[jj].oos;
                            thisProduct.qty = products[jj].qty;
                            console.log(thisProduct);
                            $scope.productsList.push(thisProduct);
                            console.log($scope.productsList);
                        }
                    }
                }
那是

因为你的productsList包含相同的对象。

[{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3},{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3}]
{"prodIdxId":207,"skuId":477072,"title":"Allergy Liquid Cherry Flavored","size":"4 OZ","price":5.99,"discount_price":0,"discount_msg":"","ship_save":1,"free_shipping":1,"weight":"0.06 LBS","rating":0,"img":"5042813846.jpg","out_of_stock":0,"qty":3}]

最新更新