基本介绍

(1)视图绑定两个数组,分别对应未完成和已完成

(2)数组的删除splice(),数组的追加push()

基本使用

<!DOCTYPE html>
<html lang="en" ng-app="Todos">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
padding: 0;
margin: 0;
} .wrap {
margin: 120px auto;
width: 400px;
border: 1px solid #000;
} .add {
height: 40px;
padding-left: 100px;
border-bottom: 1px solid #ccc;
} .add input {
width: 300px;
height: 40px;
border: none;
outline: none;
font-size: 16px;
} .undone { } .undone span {
font: 800 20px "微软雅黑";
display: block;
margin-top: 9px;
margin-bottom: 9px;
} .undone ul {
list-style: none;
} .done { } .done span {
font: 800 20px "微软雅黑";
display: block;
margin-top: 9px;
margin-bottom: 9px;
} .done ul {
list-style: none;
}
</style>
<script src="../libs/angular.min.js"></script>
</head>
<body>
<div class="wrap" ng-controller="TodosController">
<div class="add">
<form ng-submit="add()">
<input type="text" ng-model="value">
</form>
</div>
<div class="undone">
<span>未完成</span>
<ul>
<li ng-repeat="(key,todo) in undone">
<div>
<input type="checkbox" ng-checked="todo.flag" ng-click="finish(key)">
{{todo.text}}
</div>
</li>
</ul>
</div>
<div class="done">
<span>已完成</span>
<ul>
<li ng-repeat="(key,todo) in done">
<div>
<input type="checkbox" ng-checked="todo.flag">
{{todo.text}}
<button ng-click="delete(key)">删除</button>
</div>
</li>
</ul>
</div>
</div>
<script>
var Todos = angular.module('Todos', []);
Todos.controller('TodosController', ['$scope', function ($scope) {
$scope.undone = [];
$scope.done = [];
$scope.add = function () {
$scope.undone.push({text: $scope.value, flag: false});
}
$scope.finish = function (key) {
var obj = $scope.undone.splice(key, 1)[0];
obj.flag = true;
console.log(obj);
$scope.done.push(obj);
} $scope.delete = function (key) {
$scope.done.splice(key, 1);
}
}]);
</script>
</body>
</html>

Angular——todos案例的更多相关文章

  1. angular,vue,react的基本语法—双向数据绑定、条件渲染、列表渲染、angular小案例

    基本语法: 1.双向数据绑定 vue 指令:v-model="msg" react constructor(){ this.state{ msg:"双向数据绑定" ...

  2. 【转】asp.net mvc webapi+angular.js案例

    参考地址:http://www.mamicode.com/info-detail-892383.html 大家好,本文用一个简单的demo演示AngularJS在MVC中的使用,在学习这个demo之前 ...

  3. web前端知识总结

    前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS ...

  4. [转]聊聊技术选型 - Angular2 vs Vue2

    转载:https://juejin.im/post/58cab85b44d9040069f38f7a "Come, and take choice of all my library, An ...

  5. 聊聊技术选型 - Angular2 vs Vue2

    作者介绍:李旸,美团点评前端工程师,3 年 Web 前端开发经验,现在是美团点评点餐团队的一员. "Come, and take choice of all my library, And ...

  6. angular的splitter案例学习

    angular的splitter案例学习,都有注释了,作为自己的备忘. <!DOCTYPE html> <html ng-app="APP"> <he ...

  7. 使用Angular 4、Bootstrap 4、TypeScript和ASP.NET Core开发的Apworks框架案例应用:Task List

    最近我为我自己的应用开发框架Apworks设计了一套案例应用程序,并以Apache 2.0开源,开源地址是:https://github.com/daxnet/apworks-examples,目的是 ...

  8. Angular中ui-router实现路由嵌套案例

    学习 ui-router 资料整理 对于Angular内置的路由是单路由视图,ui-router可以实现路由嵌套.后面将会有一个案例概括前面所有资料整理 学习 ui-router - 管理状态  ht ...

  9. Angular路由与多视图综合案例

    Ajax请求存在的几个问题 (1)Ajax请求不会留下History 记录,会导致浏览器后退按钮失效 (2)用户无法直接通过URL进入应用中的指定页面(保存书签.链接分享给朋友) (3)Ajax对SE ...

随机推荐

  1. linux下安装并配置vim

    1.安装:sudo apt-get install vim-gtk  安装好后vim,并按“tab”键,可以看到vim的存在,则安装好2.设置更加人性化:sudo vim /etc/vim/vimrc ...

  2. poj 3074

    题意:解数独 分析: 完整的数独有四个充要条件: 1.每个格子都有填数字 2.每列都有1~9中的每个数字 3.每行都有1~9中的每个数字 4.每个9宫格都有1~9中的每个数字 可以转化成精确覆盖问题. ...

  3. 5-45 航空公司VIP客户查询 (25分) HASH

    不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...

  4. 洛谷 P2683 小岛

    P2683 小岛 题目背景 西伯利亚北部的寒地,坐落着由 N 个小岛组成的岛屿群,我们把这些小岛依次编号为 1 到 N . 题目描述 起初,岛屿之间没有任何的航线.后来随着交通的发展,逐渐出现了一些连 ...

  5. 源码分析-react1-根节点渲染

  6. jquery 实现可编辑div

    html大致例如以下: <ol id="ol_group" class="list-group list_of_items"> <li cla ...

  7. mysql安装后改动port号password默认字符编码

    1.改动password grant all privileges on *.* to 'root'@'localhost' identified by 'new password'; 2.改动por ...

  8. 我的Android进阶之旅------&gt;Android关于ImageSpan和SpannableString的初步了解

    近期要实现一个类似QQ聊天输入框.在输入框中能够同一时候输入文字和表情图像的功能.例如以下图所看到的的效果: 为了实现这个效果.先去了解了一下ImageSpan和SpannableString的使用方 ...

  9. sed 之 -n p

    sed是一个面向字符流的编辑器,一般情况下每次读入一行到一个名为模式空间的地方,进行编辑:但是也可以读入多行数据进行编辑. -n:抑制默认输出 p打印模式空间内容 cat test a b sed ' ...

  10. 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc【转】

    本文转载自:http://www.arm9home.net/read.php?tid-80810.html 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc   ...