AngularJS动态添加数据并删除的实例


Posted in Javascript onFebruary 27, 2018

如下所示:

<!DOCTYPE html>
<html lang="en" ng-app="App">
<head>
	<meta charset="UTF-8">
	<title>TodoList</title>
	<style>
		body {
			padding: 0;
			margin: 0;
		}
		.todo {
			width: 300px;
			margin: 100px auto;
		}
		.todo dd {
			overflow: hidden;
		}
		.todo input[type="checkbox"] {
			float: left;
		}
		.todo a {
			float: right;
		}
	</style>
</head>
<body>
	
	<div class="todo" ng-controller="TodoListController">
		<form ng-submit="addItem()">
			<label for="">添加事项</label>
			<input type="text" ng-model="todo">
		</form>
		<dl>
			<dt>待办事项</dt>
			<dd ng-repeat="todo in todos track by $index">
				<input type="checkbox" ng-checked="todo.checked" ng-click="done($index, $event)">
				{{todo.text}}
				<a ng-href="" ng-click=" rel="external nofollow" rel="external nofollow" delete($index, todos)">删除</a>
			</dd>
			<dt>已办事项{{doneTodos.length}}</dt>
			<dd ng-repeat="todo in doneTodos track by $index">
				<input type="checkbox" ng-checked="todo.checked" ng-click="undone($index, $event)">
				{{todo.text}}
				<a ng-href="" ng-click=" rel="external nofollow" rel="external nofollow" delete($index, doneTodos)">删除</a>
			</dd>
		</dl>
	</div>
	<script src="./libs/angular.min.js"></script>
	<script>
		// 定义一个模块
		var App = angular.module('App', []);
		// 定义一个控制器
		App.controller('TodoListController', ['$scope', function($scope) {
			
			// 待办事项
			$scope.todos = [];
			// 已完成事项
			$scope.doneTodos = [];
			// $scope.todo = '';
			// 回车时调用ng-submit,往待办事项中添加数据
			$scope.addItem = function () {
				// 向数组中添加数据
				$scope.todos.push({text:$scope.todo, checked: false});
				// 清空输入框
				$scope.todo = '';
			}
			// 勾选时完成
			$scope.done = function (index, ev) {
				// console.log(index);
				// console.log($scope.todos);
				// 从待办事项中删除
				var tmp = $scope.todos.splice(index, 1);
				tmp[0].checked = !tmp[0].checked;
				// 将删除的事项添加到已完成里
				$scope.doneTodos = $scope.doneTodos.concat(tmp);
				ev.preventDefault();
			}
			// 取消已完成
			$scope.undone = function (index, ev) {
				// 从已完成数据中删除
				var tmp = $scope.doneTodos.splice(index, 1);
				tmp[0].checked = !tmp[0].checked;
				// 将事项添加到待办事项中
				$scope.todos = $scope.todos.concat(tmp);
				// ev.preventDefault();
			}
			// 删除事项,传递当前索引和完整数据
			$scope.delete = function (index, todos) {
				// $scope.doneTodos.splice(index, 1);
				// console.log(todos);
				// 删除索引值对应的事项
				todos.splice(index, 1);
			}
		}])
		// var arr = [0, 1, 2, 3, 4];
		// arr.splice(2,1)
	</script>
</body>
</html>

以上这篇AngularJS动态添加数据并删除的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
模仿JQuery.extend函数扩展自己对象的js代码
Dec 09 Javascript
JS判断当前日期是否大于某个日期的实现代码
Sep 02 Javascript
Jquery Validate 正则表达式实用验证代码大全
Aug 23 Javascript
node.js中的events.emitter.once方法使用说明
Dec 10 Javascript
jQuery实现带动画效果的二级下拉导航方法
Mar 11 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 Javascript
JS严格模式知识点总结
Feb 27 #Javascript
总结js函数相关知识点
Feb 27 #Javascript
详解jQuery中的isPlainObject()使用方法
Feb 27 #jQuery
详解Vue Elememt-UI构建管理后台
Feb 27 #Javascript
详解react-native WebView 返回处理(非回调方法可解决)
Feb 27 #Javascript
Vue2.5通过json文件读取数据的方法
Feb 27 #Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 #Javascript
You might like
PHP中HTML标签过滤技巧
2014/01/07 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
Exjs 入门篇
2010/04/07 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
应届生法律求职信
2013/10/22 职场文书
秘书岗位职责
2013/11/18 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
广告创意求职信
2014/03/17 职场文书
竞聘书模板
2014/03/31 职场文书
暑假家长评语大全
2014/04/17 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
2014年关工委工作总结
2014/11/17 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python