day22—一个AngularJS框架应用toDoList
转行学开发,代码100天——2018-04-07
今天用AngularJS照着课程写了一个案例,即toDoList,记事清单效果。
主要实现以下效果:
1.通过文本框添加内容,同时添加事件列表。主要用到ng-model="task"对input输入框进行数据绑定,通过ng-click="add()"事件为按钮添加响应——将输入内容显示到文本框下列表栏中。
2.细节处理1:“任务列表”文字的显隐,即在事件数目>0时才显示,ng-if="tasks.length>0"或者ng-hide="tasks.length==0". 但二者更倾向于前者,区别在于后者是创建了“任务列表”元素,只是设置了隐藏。
3.细节处理2:当输入相同列表事件内容时,并不会实现事件新增。因此需要在<li>标签里新增ng-repeat=“item in tasks track by $index”,其中,item是事件项变量,tasks是事件数组,by $index 即按照序号。
<!DOCTYPE html>
<html ng-app="todoList">
<head>
<meta charset="utf-8">
<title>todoList</title>
<script src="js/angular.min.js"></script>
</head>
<body ng-controller="TrackCtrl">
<div >
<input ng-model="task" type="text" ></input>
<span class="input-group-btn">
<button ng-click="add()">提交</button>
</span>
</div>
<h4 ng-if="tasks.length>0">任务列表</h4>
<li ng-repeat="item in tasks track by $index " >{{item}}<a href="#" ng-click="tasks.splice($index,1)">删除</a></li>
</body>
<script type="text/javascript">
angular.module('todoList',[]).controller('TrackCtrl',function($scope) {
$scope.task ="";
$scope.tasks =[];
$scope.add = function()
{
$scope.tasks.push($scope.task);
}
})
</script>
</html>
实现效果如下:
此外,通过“删除”事件,可以将本行事项删除。
day22—一个AngularJS框架应用toDoList的更多相关文章
- AngularJS - 下一个大框架
AngularJS AngularJS是web应用的下一个巨头. AngularJS如果为创建web应用而设计,那它就是HTML的套路了.具有数据绑定, MVW, MVVM, MVC, 依赖注入的声明 ...
- 十佳AngularJS框架
您是否还在烦恼如何没有困难地创建一个创新型的Web应用程序?那么一定不要错过这个集合!在本文中,小编为大家收集了十个非常棒的AngularJS框架.AngularJS框架拥有大量有用的工具和组件,可以 ...
- 10 个非常有用的 AngularJS 框架
AngularJS是最流行的开源web app框架.AngularJS被用于解决阻碍单页应用程序开发的各种挑战. 你作为一个AngularJS用户,却不知道一些可以帮助你美化编码的资源?那么一定不能错 ...
- 你的第一个AngularJS应用--教程二:基架、建立和測试的工具
介绍 有非常多可用的工具能够帮助你开发AngularJS 应用,那些非常复杂的框架不在我的讨论范围之中,这也是我開始这系列教程的原因. 在第一部分,我们掌握了AngularJS框架的基本结构,开发了第 ...
- AngularJS框架研究(一)
和几年前相比,现在的Javascript开发方式有了翻天覆地的变化,一些极具创意的开发工具的出现,让前端开发更加成熟,Angular框架就是一个例子.最近在看Angular的源代码,发现并不是件容易的 ...
- AngularJS框架速写
最近在把玩AngularJS框架,之前也看过流行的Backbone,不过AngularJS给人的感觉完全不同,它走的是一条高帅富之路. 按照官方的说法,AngularJS是一套依赖注入的MVC开发套件 ...
- 简洁AngularJS框架后台管理系统bootstrap后台模板
最近在做一个后台管理的项目,但是没有设计图完全,所以就发现一款非常不错的模版. 这个模版是基于 AngularJS 和 bootstrap 的后台管理系统模版. Minovate是 AngularJS ...
- TodoMVC:帮助你选择一个MV*框架
开发者现在有很多的MV*框架选择来组织开发web应用程序.Backbone. Ember.AngularJS.Spine… 新的稳定解决方案列表持续增长,但你如何决定在海量的框架中选择哪个使用? 为了 ...
- 如何实现一个php框架系列文章【开篇】
1.本系列文章的目的 实现一个小而美的产品级别php框架 自己动手实现一个新框架仅用于学习交流,不打算替代市面上现有的其他主流框架. 2. 我要一个怎样的PHP框架 简单实用,安全优雅,博采众长 安装 ...
随机推荐
- python控制流-导入模块
一.模块 1.含义 Python 程序可以调用一组基本的函数,这称为“内建函数”,包括你见到过的 print().input()和 len()函数.Python 也包括一组模块,称为“标准库”.每个模 ...
- Gradle -- 初体验
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置. ...
- <每日一题> Day2:CodeForces-1141C.PolycarpRestoresPermutation(思维题)
原题链接 参考代码: #include <iostream> #include <cstring> using namespace std; + , INF = 0x3f3f3 ...
- JDK11 | 第四篇 : 增强API
文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/O0xntC-JfeSBk-9x2QfwnA 一.简介 JDK 9~11 在语言语法方面有一 ...
- Java学习day9面向对象编程2-方法的可变个数的参数和方法的参数传递
一.方法的可变个数的参数. 问题:我们能够打印的信息都是来源于方法的参数,也就是形参的传递.那如何要给方法传递不同的参数? .1.采用数组形参来定义方法 public static void test ...
- Oracle数据库的发展历程
前言 1970年的6月,IBM 公司的研究员埃德加·考特 (Edgar Frank Codd) 在 Communications of ACM 上发表了那篇著名的<大型共享数据库数据的关系模型& ...
- BZOJ4990 (LCS转LIS)
题面 https://www.lydsy.com/JudgeOnline/problem.php?id=4990 分析 首先可以看出一个简单的DP dp[i][j]表示序列a前i个与序列b前j个连线数 ...
- 进程通信(multiprocessing.Queue)
from multiprocessing import Queue Queue([maxsize]) 创建共享的进程队列.maxsize是队列中允许的最大项数.如果省略此参数,则无大小限制.底层队列使 ...
- 固定导航栏(jquery)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- sql server 中 like 中文不匹配问题
原文:https://blog.csdn.net/miao0967020148/article/details/71108056 MS-SQL Server select * from Book wh ...