javascript – 根据真实值删除AngularJS数组中的多个项目
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 根据真实值删除AngularJS数组中的多个项目,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2855字,纯文字阅读大概需要5分钟。
内容图文
![javascript – 根据真实值删除AngularJS数组中的多个项目](/upload/InfoBanner/zyjiaocheng/787/ab1500c522d3494eb6063ccaa9a2e900.jpg)
试图学习Angular并且一次删除多个对象时遇到问题.我正在创建一个待办事项应用程序,当用户勾选多个项目并单击“清除已完成”按钮时,将要检查要删除的项目并保留其余项目.
目前我可以添加,删除单个项目和编辑项目.我想要做的是点击带有复选框的几个项目,然后根据完成情况清除它们:true
问题:
如何浏览每个项目并查看< span class =“item-display done - {{items.done}}”> {{items.title}}< / span>为TRUE并使用clear()函数删除项目?
角度版本:1.3.15
目录设置:
|-index.html
|-js/
|app.js
|todo.ctrl.js
HTML:
<body ng-app="app">
<section class="module" ng-controller="todoController as todo">
<div class="container">
<h1>{{todo.title}}</h1>
<form name="todo.addForm" class="form" ng-submit="todo.addItem()">
<div class="form-group">
<label>Add New Item</label>
<input type="text" class="form-control" ng-model="todo.new.title" required />
</div>
<button class="btn btn-primary pull-right"><span class="glyphicon glyphicon-plus-sign"> Add</span></button>
</form>
<h3>Items:</h3>
<ul class="list-group">
<li class="list-group-item todo-item" ng-repeat="items in todo.items">
<input type="checkbox" ng-model="items.done"/>
<span class="item-display done-{{items.done}}">{{items.title}}</span>
<form>
<input class="form-control" type="text" ng-model="items.title" ng-keyup="todo.editOnEnter($index)"/>
</form>
<a ng-click="todo.delete($index)">Delete</a>
<a ng-click="todo.toggleEditMode($index)">Update</a>
</li>
</ul>
<button class="btn btn-danger pull-right" ng-click="todo.clear()">Clear Completed</button>
</div>
</section>
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/angular/angular.min.js"></script>
<script src="js/app.js"></script>
<script src="js/todo.ctrl.js"></script>
app.js:
angular.module('app', []);
todo.ctrl.js:
angular.module('app').controller("todoController", function(){
var vm = this;
vm.title = 'To Do Application';
vm.input = '';
vm.items = [{
title : 'dog food',
done : false
}];
vm.new = {
title : '',
done: false
};
vm.addItem = function(){
vm.items.push(vm.new);
vm.new = {title:'',done: false};
};
$(document).click(function(){
console.log(vm.items);
});
vm.delete = function (index){
vm.items.splice(index, 1);
};
vm.update = function(index){
vm.items.copy(index, 1);
};
vm.toggleEditMode = function(){
$(event.target).closest('li').children('.item-display, form').toggleClass('editing');
};
vm.editOnEnter = function(index){
if(event.keyCode == 13){
vm.toggleEditMode();
}
};
//
//
// NEED HELP HERE
//
//
vm.clear = function(){
var oldTodos = vm.items;
//vm.items = [];
angular.forEach(oldTodos, function() {
if (vm.items.done == true){
this.remove();
}
});
};
});
解决方法:
我不完全确定我是否理解你的问题,但如果我没有弄错,你想清除你的清单中的待办事项吗?
Array.prototype.filter函数将根据过滤功能修剪数组.如果返回true,它将保留该项,如果返回false,则将其删除.
vm.clear = function(){
vm.items = vm.items.filter( function( item ){
return !item.done
}
}
内容总结
以上是互联网集市为您收集整理的javascript – 根据真实值删除AngularJS数组中的多个项目全部内容,希望文章能够帮你解决javascript – 根据真实值删除AngularJS数组中的多个项目所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。