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 相关文章推荐
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
JS实现日期加减的方法
Nov 29 Javascript
Ext GridPanel加载完数据后进行操作示例代码
Jun 17 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
Jul 10 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
ES6新数据结构Map功能与用法示例
Mar 31 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
May 12 Javascript
微信小程序switch组件使用详解
Jan 31 Javascript
如何换个角度使用VUE过滤器详解
Sep 11 Javascript
uni app仿微信顶部导航条功能
Sep 17 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
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
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
python写入xml文件的方法
2015/05/08 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
5款非常棒的Python工具
2018/01/05 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
Python如何输出警告信息
2020/07/30 Python
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
个人实用简单的自我评价
2013/10/19 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
加班费申请报告
2015/05/15 职场文书
外出听课学习心得体会
2016/01/15 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书