angular项目——小小记事本2
一,路由的规划。
需要模拟的页面有三个:all,active,conplete.
首先,写好铺垫需要的各种东西,重要的组件的引用等——
这里我们会将index.html设为主页,将body.html加载到主页上——
<html lang="en" ng-app="myTodo"><head>
<meta charset="utf-8">
<title>angularjs • TodoMVC</title>
<link rel="stylesheet" href="node_modules/todomvc-common/base.css">
<link rel="stylesheet" href="node_modules/todomvc-app-css/index.css">
<style>
.pagination {
overflow: hidden;
padding: 20px;
}
.pagination ul li {
width: 60px;
height: 30px;
line-height: 30px;
border:1px solid black;
float: left;
list-style-type: none;
margin-right: 10px;
text-align: center;
}
</style>
</head>
<body>
<ng-view></ng-view> <!-- 路由区域,视图区域--> <script src="node_modules/angular/angular.js"></script>
<script src="node_modules/angular-route/angular-route.js"></script>
<script src="js/app.js"></script> </body>
</html>
主页的框架已经搭好,接下来是内容——body.html
<section id="todoapp">
<header id="header">
<h1>todos</h1>
<form style="margin:0" ng-submit="addTodo()">
<input ng-model="newTodo" id="new-todo" placeholder="What needs to be done?" autofocus="">
</form>
</header>
<section id="main" style="display: block;">
<input ng-click="markAll(checked_statsus)" ng-model="checked_statsus" id="toggle-all" type="checkbox">
<label for="toggle-all">Mark all as complete</label>
<ul id="todo-list">
<li ng-repeat="item in itemList|filter:filterStatus|createtimeSort track by $index" ng-class="{completed: item.completed, editing: item.edit_status}">
<div class="view">
<input class="toggle" type="checkbox" ng-model="item.completed">
<label ng-dblclick="editTodo(item)">{{item.title}}</label>
<button class="destroy" ng-click="remove(item)"></button>
</div>
<form ng-submit="saveEdit(item)">
<input todo-focus="item.edit_status" class="edit" ng-blur="saveEdit(item)" ng-model="item.title">
</form>
</li>
</ul>
<div class="pagination">
<ul>
<li ng-click="prevPage()">prevPage</li>
<li ng-click="setPage(index)" ng-repeat="index in pagelist()">{{index + 1}}</li>
<li ng-click="nextPage()">nextPage</li>
</ul>
</div>
</section>
<footer id="footer" style="display: block;">
<span id="todo-count"><strong>{{remainCount}}</strong> items left</span>
<ul id="filters">
<li>
<a ng-class="{selected: routName == 'all'}" href="#/all">All</a>
</li>
<li>
<a ng-class="{selected: routName == 'active'}" href="#/active">Active</a>
</li>
<li>
<a ng-class="{selected: routName == 'completed'}" href="#/completed">Completed</a>
</li>
</ul>
<button id="clear-completed" ng-click="clearCompleted()">Clear completed</button>
</footer>
</section>
因为要被加载到index上面,所以这个html中只有body部分的代码就够了。基本框架如上所示,其中的方法需要讲解一下——
第4行——ng-submit="addTodo()"
当这个表单被提交的时候会触发这个方法,方法是用来将内容记录下来的。
第5行——
<input ng-model="newTodo" id="new-todo" placeholder="What needs to be done?" autofocus="">
一个input组件,设定了默认文字和自动获取光标
第9行——
<input ng-click="markAll(checked_statsus)" ng-model="checked_statsus" id="toggle-all" type="checkbox">
一个选项框,点击之后触发markAll(checked_statsus)方法,作用是全选所有的列表项。
11-22——
循环输出所需要的列表项。12行的前面是过滤,后面是动态加载css类。
24-28——
三个按钮,分别控制前一页后一页
32——<span id="todo-count"><strong>{{remainCount}}</strong> items left</span>
动态显示某个内容,这个remainCount是后台的一个变量
33-43 ——
三个超链接,用于进行跳转。前面的ng-class用于动态切换css,当内容变为ng-class="{selected: true'}"的时候会使得自身处于被选中的css下。后面的是【页内】跳转。
44——
里面的方法clearCompleted()用于清空表单内容。
至此,所有需要的方法,类,和注意事项已经书写清楚。css使用bookstap便足够,接下来就是app.js部分。
angular项目——小小记事本2的更多相关文章
- angular项目——小小记事本1
这次的项目是制作一个记事本,有点类似于手机qq聊天信息. 内容:在一个input当中输入一行数据,之后提交,这个数据便会记录在下面.随着提交的增加,数据会以列表形式排列下来. 列表中,前面有一个组件, ...
- angular.js——小小记事本3
app.js部分,首先是路由.这个之前讲过了,链接在这里—— http://www.cnblogs.com/thestudy/p/5661556.html var app = angular.modu ...
- 把angular项目整合到.net mvc中
之前的开发选择的是完全舍弃服务端,仅保留最简单web服务器提供angular经打包的静态资源,此外所有的业务与数据请求都访问一个分离的WebApi来实现.不过最近碰到一个需求,有必要使用多个客户端,而 ...
- 个人从源码理解angular项目在JIT模式下的启动过程
通常一个angular项目会有一个个模块(Module)来管理各自的业务,并且必须有一个根模块(AppModule)作为应用的入口模块,整个应用都围绕AppModule展开.可以这么说,AppModu ...
- Angular20 nginx安装,angular项目部署
1 nginx安装(Windows版本) 1.1 下载安装包 到官网下载Windows版本的nginx安装包 技巧01:下载好的压缩包解压即可,无需安装 1.2 启动nginx 进入到解压目录,点击 ...
- Angular4--提速--提升Angular项目的首页打开速度(包含微信登录优化)
Angular项目的首页打开速度很慢,有时候会有几秒的加载时间.如果在手机端访问的话,怕是要等待十多秒,这对用户体验很差.下面参考http://www.cnblogs.com/feiyu159/p/8 ...
- Angular4---部署---将Angular项目部署到IIS上
---恢复内容开始--- Angular项目部署到一个IIS服务器上 1.安装URL rewrite组件: 网址:https://www.microsoft.com/en-us/download/de ...
- 网站开发进阶(二十一)Angular项目信息错位显示问题解决
Angular项目信息错位显示问题解决 绪 最近在项目开发过程中遇到这样一个棘手的问题:查询出所有订单信息后,点击选择某一个订单,查询出的结果是上一次查询所得的结果.而且会出现点击两次才可以显示订单详 ...
- [转]Angular4---部署---将Angular项目部署到IIS上
本文转自:https://www.cnblogs.com/kingkangstudy/p/7699710.html Angular项目部署到一个IIS服务器上 1.安装URL rewrite组件: 网 ...
随机推荐
- 用TextKit实现图文混排(转载)
Textkit是iOS7新推出的类库,其实是在之前推出的CoreText上的封装,有了这个TextKit,以后不用再拿着CoreText来做累活 了,根据苹果的说法,他们开发了两年多才完成,而且他们在 ...
- http请求 302解决方法
http请求+302解决方法 相关文章 当前,许多站点的部署方式都对自身的性能产生了消极影响,而网站的所有者并没有意识到这个问题.我们今天针对性的讨论以下几个常见的影响网站性能的瓶颈,观察其变化趋势, ...
- jQuery 设置select默认选中问题
在进行其他操作后,恢复select默认选中 html代码: <select id="shai" style="width:150px;margin:5px 50px ...
- Kettle 使用相关
Kettle 作为国外的一款开源ETL软件,要使用了
- RabbitMQ队列
AMQP ,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的发送者无 ...
- 查询被收录页面中的死链接 By SEO
朋友说他的站挂了,想知道被收录的页面有多少是死链,于是我就想了一下流程,从Site获得收录数量当然是不精准的,不过也没有更好的地了,真实的收录只有搜索引擎数据库里面才有... 查询被收录页面的状态码, ...
- activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI
今天遇到挺纠结的问题,由于产品设计的问题,技术上涉及到activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI ...
- 明天学习一下验证码的匹配和thinkphp第十三章
333333333 js 冒泡排序 var arr=[17,19,5,90,3];window.onload=function(){// alert(arr[0]);var len=arr.lengt ...
- Java IO 节点流 FileInput/OutputStream
Java IO 节点流 FileInput/OutputStream @author ixenos 节点流之 文件流 文件读写是最常见的I/O操作,通过文件流来连接磁盘文件,读写文件内容 1.文件的读 ...
- Java IO 节点流 ByteArrayInput/OutputStream
Java IO 节点流 ByteArrayInput/OutputStream @author ixenos ByteArrayInputStream 包含一个内部缓冲区(字节数组byte[]),该缓 ...