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 相关文章推荐
JavaScript 对象、函数和继承
Jul 07 Javascript
学习ExtJS(二) Button常用方法
Oct 07 Javascript
JS画5角星方法介绍
Sep 17 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
JS实现点击按钮后框架内载入不同网页的方法
May 05 Javascript
jQuery菜单插件用法实例
Jul 25 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
Jan 08 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
Sep 07 Javascript
layui扩展上传组件模拟进度条的方法
Sep 23 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
Feb 15 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
javascript深入理解js闭包
2010/07/03 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
python实现倒计时的示例
2014/02/14 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python3 合并二叉树的实现
2019/09/30 Python
Python创建数字列表的示例
2019/11/28 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
初三班主任寄语大全
2014/04/04 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
党员带头倡议书
2015/04/29 职场文书
小学运动会入场口号
2015/12/24 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
Redis基本数据类型Set常用操作命令
2022/06/01 Redis