Angularjs 如何防止将相同的项目添加到购物车?

Angularjs 如何防止将相同的项目添加到购物车?,angularjs,Angularjs,我是angular js的新手,我想知道如何防止用户多次向购物车添加相同的物品。我已经开发了一个简单的购物车应用程序,我在下面附上了示例屏幕截图 屏幕1 屏幕2 单击后,数据将被传递到数组。我如何防止用户多次添加相同的项?我已使用ng repeat从json文件中检索CVE数据。我认为您应该使用与下面类似的逻辑来实现这一点 $scope.addProduct = function(product){ var isDuplicate = false; for(var i

我是angular js的新手,我想知道如何防止用户多次向购物车添加相同的物品。我已经开发了一个简单的购物车应用程序,我在下面附上了示例屏幕截图 屏幕1

屏幕2


单击后,数据将被传递到数组。我如何防止用户多次添加相同的项?我已使用ng repeat从json文件中检索CVE数据。

我认为您应该使用与下面类似的逻辑来实现这一点

    $scope.addProduct = function(product){
    var isDuplicate = false;
    for(var i=o;i<$scope.selectedProduct.length;i++){
       if(product.id == $scope.selectedProduct[i].id){
        isDuplicate =true;
         break;
        }

   }
   if(!isDuplicate ){
        $scope.selectedProduct.push(product)


     }
 }
$scope.addProduct=功能(产品){
var isDuplicate=假;

对于(var i=o;iYou应该使用购物车项目
数组
,检查购物车是否有任何预先选择的产品id。我个人建议让用户添加任意数量的产品。如果您的代码发现相同的产品再次添加,您可以将其数量增加1,依此类推。这是为了更好的用户体验:)用户应该可以选择添加任意数量的相同类型的产品。为此,您可以使用添加一对(键、值)的映射每次用户单击“添加到购物车”
按钮时。然后检查他们的密钥,如果没有任何项与密钥值相等,则放入该对,否则,只增加该密钥的值。扩展到@Vinet-可以在_数组()中使用