2016-08-01 6 views
0
<!DOCTYPE html> 
<html> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<link rel="stylesheet" href="http://www.w3schools.com/lib/w3.css"> 
<body> 

<script> 
var app = angular.module("myShoppingList", []); 
app.controller("myCtrl", function($scope) { 
    $scope.products = ["Milk", "Bread", "Cheese"]; 
    $scope.addItem = function() { 
     $scope.errortext = ""; 
     if (!$scope.addMe) {return;} 

      $scope.products.push($scope.addMe); 

    } 
    $scope.removeItem = function (x) { 
     $scope.errortext = ""; 
     $scope.products.splice(x, 1); 
    } 
}); 
</script> 

<div ng-app="myShoppingList" ng-cloak ng-controller="myCtrl" class="w3-card-2 w3-margin" style="max-width:400px;"> 
    <header class="w3-container w3-light-grey w3-padding-16"> 
    <h3>My Shopping List</h3> 
    </header> 
    <ul class="w3-ul"> 
    <li ng-repeat="x in products" class="w3-padding-16">{{x}}<span ng-click="removeItem($index)" style="cursor:pointer;" class="w3-right w3-margin-right">×</span></li> 
    </ul> 
    <div class="w3-container w3-light-grey w3-padding-16"> 
    <div class="w3-row w3-margin-top"> 
     <div class="w3-col s10"> 
     <input placeholder="Add shopping items here" ng-model="addMe" class="w3-input w3-border w3-padding"> 
     </div> 
     <div class="w3-col s2"> 
     <button ng-click="addItem()" class="w3-btn w3-padding w3-green">Add</button> 
     </div> 
    </div> 
    <p class="w3-padding-left w3-text-red">{{errortext}}</p> 
    </div> 
</div> 

</body> 
</html> 

に同じ項目を追加しますリストや配列は私は私の問題は私がリストの製品にすでにある製品を追加しようとした場合に追加されることはありませんリスト内にすでに存在する同じ製品を追加したいですW3Schoolsの中で、このコードを見てきまし配列

答えて

1

値は間違いなく、配列の中に押し込まなるだろうが、ng-repeatは文句を言わない許可するtrack by $indexを使用し、あなたはDOMの変更を参照していけない、したがって、重複を許可重複

ng-repeat="x in products track by $index" 
関連する問題