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 相关文章推荐
DOM精简教程
Oct 03 Javascript
如何实现动态删除javascript函数
May 27 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
Dec 30 Javascript
解析javascript系统错误:-1072896658的解决办法
Jul 08 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
Nov 07 Javascript
浅析node.js中close事件
Nov 26 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
javascript简易画板开发
Apr 12 Javascript
JavaScript中transform实现数字翻页效果
Mar 08 Javascript
React-router中结合webpack实现按需加载实例
May 25 Javascript
angularJs中$http获取后台数据的实例讲解
Aug 08 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 setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
将数组写入txt文件 var_export
2009/04/21 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
date.parse在IE和FF中的区别
2010/07/29 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
Python命名空间详解
2014/08/18 Python
简单介绍Python中的round()方法
2015/05/15 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
本科毕业生求职自荐信
2014/02/03 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
环保建议书作文400字
2015/09/14 职场文书