下面我就为大家分享一篇angularjs动态添加数据并删除的实例,具有很好的参考价值,希望对大家有所帮助。
如下所示:
<!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>
<p 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>
</p>
<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>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
详细讲解fastclick源码(详细教程)
利用vue和element-ui如何实现表格内容分页
利用vue如何实现将时间戳转换成自定义时间格式
以上就是在angularjs中如何动态添加数据并删除?的详细内容。