2016-04-07 5 views
0

以下は、角度JSとHTMLで書いたコードです。私は食料品のリストを持っている、各リストの横にリンクを削除してアイテムを削除する。私はまた、それをクリックすると、リスト全体をクリアする必要があります明確なリストのリンクを追加しました。しかし、クリアリストをクリックすると、一度に1つのアイテムしか削除されませんが、リスト全体が削除されます。スプライスを削除してスプライスを実装しようとしましたが、リストをクリアするだけです。クリアリンクがクリックされたときにJavaScriptのスプライスを使用してリスト全体を削除したい

<html ng-app="nameApp"> 
<head> 
<meta charset="utf-8"> 
    <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script> 
</head> 
<body ng-controller="nameCtrl"> 
The list of groceries:</br> 
<ul> 
<a href="" ng-click="clear(name)">clear list</a> 
<li ng-repeat="name in names">{{name}} 
<a href="" ng-click="remove(name)">remove</a> 
</li> 

</ul> 
</body> 
</html> 
<script> 
var nameApp = angular.module('nameApp',[]); 
nameApp.controller('nameCtrl',function($scope){ 
$scope.names = ['Eggs','Milk','Bread','Cheese']; 
$scope.remove=function(name){ 
var i = $scope.names.indexOf(name); 
$scope.names.splice(i,1); 
} 
$scope.clear=function(name){ 
var i = $scope.names.indexOf(name); 
$scope.names.splice(i,5); 
} 
}); 
</script> 

答えて

1

spliceは不要です。変数に空の配列を代入するだけです。

$scope.clear=function(name){ 
    $scope.names = []; 
}; 
関連する問題