AngularJS带给你一个简单完善的Demo
来源:互联网 发布:找客户的app软件 编辑:程序博客网 时间:2024/05/22 13:17
上截图了,看效果,都是用angulaJS+BootStrap实现的,代码极其简介,
用到的有:
1.1 完善的例子1.2 双向数据绑定1.3 过滤器工厂使用1.4 repeat绑定1.5 自动排序1.7 交互式显隐元素1.8 通过Ajax获取数据
贴代码喽
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" ng-app="todoApp"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="js/angular/angular.js"></script> <link href="js/bootstrap/bootstrap.css" rel="stylesheet" /> <link href="js/bootstrap/bootstrap-theme.css" rel="stylesheet" /></head><body ng-controller="ToDoCtrl"> <div class="page-header"> <h2> {{todo.user}}做的列表 <span class="label label-default" ng-hide="incompleteCount()==0" ng-class="warningLevel()">{{incompleteCount()}}</span> </h2> </div> <div class="panel"> <div class="input-group"> <input class="form-control" ng-model="actionText" /> <span class="input-group-btn"> <button class="btn btn-danger" ng-click="addNewItem(actionText)">添加</button> </span> </div> <table class="table table-striped"> <thead> <tr> <th>描述</th> <th>操作</th> </tr> </thead> <tbody> <tr ng-repeat="item in todo.items | checkedItems:showComplete| orderBy:'action'"> <td>{{item.action}}</td> <td><input type="checkbox" ng-model="item.done" /></td> <td>{{item.done}}</td> </tr> </tbody> </table> <div class="checkbox-inline"> <label><input type="checkbox" ng-model="showComplete" />显示全部</label> </div> </div> <script type="text/javascript"> var model = { user: "刘壮", items:[] }; var todoApp = angular.module("todoApp", []); //加载json数据 todoApp.run(function ($http) { $http.get("todo.txt").success(function (data) { model.items = data; }); }); //控制器 todoApp.controller("ToDoCtrl", function ($scope) { $scope.todo = model; //计算选中的数量 $scope.incompleteCount = function () { var count = 0; angular.forEach($scope.todo.items, function (item) { if (item.done) { count++ }; }) return count; } //得到不同的css style $scope.warningLevel = function () { return $scope.incompleteCount() > 3 ? "label-warning" : "label-success"; } //添加新项 $scope.addNewItem = function (actionText) { $scope.todo.items.push({ action: actionText, done: true }); } }) //过滤器工厂 todoApp.filter("checkedItems", function () { return function (items, showComplete) { var resultArr = []; angular.forEach(items, function (item) { if (showComplete == true||item.done == false) { resultArr.push(item); } }); return resultArr; } }) </script></body></html>
自定义todo.txt(原本是json文件)
[ { "action": "C 第一条", "done": false }, { "action": "D 第二条", "done": false }, { "action": "B 第三条", "done": true }, { "action": "A 第四条", "done": false } ]
0 0
- AngularJS带给你一个简单完善的Demo
- 5个简单的方法 带给你平静的心情
- 5个简单的方法 带给你平静的心情
- python带给你的简单实用的http、ftp服务
- spring aop 的一个demo(未完,待完善)
- spring aop 的一个demo(未完,待完善)
- 一个简单的AngularJS实例
- 一个简单的Flex Demo
- 一个简单的触发器(Demo)
- 一个简单的Gephi Demo
- 一个简单的缓存Demo
- 一个简单的广播Demo
- Lucene5 一个简单的Demo
- 一个简单的ReactNative demo
- WebSocket -- 一个简单的Demo
- 一个简单的线程demo
- 一个简单的selenium demo
- 一个简单的SpringMVC Demo
- iOS-IM From XMPP.1 初识XMPP
- Java---MD5Util加密
- 基于annotation的hibernate主键生成策略(转)
- Django笔记 Django REST Framework实现Web API 1
- Java enum的用法详解
- AngularJS带给你一个简单完善的Demo
- whuoj1574 第K小数
- CocoaPods安装和使用--(版本依赖写的特别的清楚。。大于和小于等版本号的写法)
- POJ题目分类
- Subsets II @Leetcode
- 前端程序员:月薪5K到5万,我干了啥
- 浅析@synthesize与@dynamic的最本质区别
- IOS App文件保存目录
- 使用VMWare的nat连接实现zabbix虚拟机与主机IP共享