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 表单之间的数据传递代码
Dec 04 Javascript
es6学习笔记之Async函数基本教程
May 11 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
Aug 18 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
Angular4实现图片上传预览路径不安全的问题解决
Dec 25 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
js for终止循环 跳出多层循环
Oct 04 Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 Javascript
关于layui toolbar和template的结合使用方法
Sep 19 Javascript
vue.js实现双击放大预览功能
Jun 23 Javascript
如何通过JS实现日历简单算法
Oct 14 Javascript
详解JavaScript中的链式调用
Nov 27 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
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Python中运行并行任务技巧
2015/02/26 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
中医专业职业生涯规划书范文
2014/01/04 职场文书
青春寄语大全
2014/04/09 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
贷款委托书
2014/08/01 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
浅析Python OpenCV三种滤镜效果
2022/04/11 Python