angularJS ng-repeat (2)
ng-repeat no longer allows duplicates.
HTML
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.angularjs.org/1.1.4/angular.js"></script>
<div ng-controller='ctrl'>
<ol>
<li ng-repeat='i in list'>
<input type='text' ng-model='i.value'></input>
<button ng-click='deleteItem($index)'>Delete</button>
</li>
</ol>
<button ng-click='addItem(item)'>Add</button>
<div>ITEM: {{list | deValue | json}}</div>
</div>
CSS
html, body {
height: 100%;
width: 100%;
}
JavaScript
angular.module("app", []).controller("ctrl", function ($scope) {
$scope.list = [{value:"one"},{value:"two"}];
$scope.addItem = function (item)
{
$scope.list.push({value:""});
};
$scope.deleteItem = function (idx)
{
var item_to_delete = $scope.list[idx];
$scope.list.splice(idx, 1);
};
})
.filter("deValue", function() {
function deValue(x) {
return x != null ? x.value : null;
}
return function(x) {
if( angular.isArray(x) ) {
var ret = [], i;
for( i=0; i < x.length; i++ ) {
ret.push(deValue(x[i]));
}
return ret;
}
else return deValue(x);
};
});