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 相关文章推荐
在Windows上安装Node.js模块的方法
Sep 25 Javascript
jquery预加载图片的方法
May 27 Javascript
javascript中的深复制详解及实例分析
Dec 29 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
浅谈angular4实际项目搭建总结
Dec 01 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
详解关于vue-area-linkage走过的坑
Jun 27 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
vue+eslint+vscode配置教程
Aug 09 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基础知识回顾
2012/08/16 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
IE的fireEvent方法概述及应用
2013/02/22 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
基于vue实现分页效果
2017/11/06 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
JavaScript实现京东快递单号查询
2020/11/30 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
浅析Python基础-流程控制
2016/03/18 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
PyQt5实现简易电子词典
2019/06/25 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
Python Process多进程实现过程
2019/10/22 Python
python随机模块random使用方法详解
2020/02/14 Python
python如何导入依赖包
2020/07/13 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏