Angularjs快速入门(二)
说说上一节的例子,$scope 我们没有创建这个对象,直接绑定就能获取里面的对象,这种风格遵循了一种叫迪米特法则的设计模式。
然后angular还有一种很强大的功能叫“指令”。
就是你可以吧模板编写成HTML的形式,而里面有些不属于HTML规范的东西,如引入的ng-controller。ng-model,接下来我们看个类似购物车的例子:
<html ng-app=‘my-app’>
<head>
<tiltle>my shopping cart</title>
</head>
<body ng-controller='CartController'>
<h1>my order</h1>
<div ng-repeat='item in items'>
<span>{{item.title}}</span>
<input ng-model='item.quantity'>
<span>{{item.price|currency}}</span>
<span>{{item.price * item.quantity|currency}}</span>
<button ng-click="remove($index)">remove</button>
</div>
<script src="angular.js"></script>
<script>
function CarController($scope){
$scope.items=[
{title:'Paint pots',quantity:8,price:3.33},
{title:'Pack pots',quantity:5,price:2.33},
{title:'Pedbbles pots',quantity3,price:12}
];
$scope.remove=function(index){
$scope.items.splice(index,1);
}
}
</script>
</body>
</html>
这其中有几个解释的地方,第一个就是ng-app='my-app',这个表示整个页面都是angular管理页面
第二个,ng-repeat=‘item in items’表示items数组中的每个元素都把<div>的dom结构复制一份,包括div本身,items有三组数,所以现在有三个div
第三个,{{item.title}}通过{{}}绑定数据,与ng-model='item.quantity'创建绑定关系
第四个,
{{item.price|currency}}
{{item.price * item.quantity|currency}}过滤器
currency是货币过滤器是内置的它可以为我们实现美元格式化。
第五个,
ng-click="remove($index)"
删除按钮,能删除购物车的物品。
Angularjs快速入门(二)的更多相关文章
- AngularJS快速入门指南20:快速参考
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南19:示例代码
本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...
- AngularJS快速入门指南18:Application
是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...
- AngularJS快速入门指南17:Includes
使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...
- AngularJS快速入门指南16:Bootstrap
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南15:API
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南14:数据验证
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南13:表单
一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...
- AngularJS快速入门指南12:模块
AngularJS模块定义了一个application. 模块是一个application中不同部分的容器. application中的所有控制器都应该属于一个模块. 带有一个控制器的模块 下面这个a ...
- AngularJS快速入门指南11:事件
AngularJS拥有自己的HTML事件指令. ng-click指令 ng-click指令定义了AngularJS的click事件. <div ng-app="" ng-co ...
随机推荐
- Alamofire源码解读系列(六)之Task代理(TaskDelegate)
本篇介绍Task代理(TaskDelegate.swift) 前言 我相信可能有80%的同学使用AFNetworking或者Alamofire处理网络事件,并且这两个框架都提供了丰富的功能,我也相信很 ...
- Dollar Dayz poj3181
http://poj.org/problem?id=3181 这个题目一开始就能看出来是个dp问题,但是我并没有一开始就看出来是一个完全背包为题,只是想着根据以前的方法,这个问题应该是可以找到规律的, ...
- SignalR的一点点东西
JS部分 $.connection.hub.start().done(function () { alert(ok); }).fail(function (error) { alert(error); ...
- 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交
git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...
- js正则表达式详解及示例讲解
所谓正则表达式,简单来说就是一种规则,一种计算机能读懂的规则.js中的正则表达式语法是Perl5(一种很早的编程语言)的正则语法的子集.本文将在基础知识的基础上添加示例帮助快速理解正则表达式. 学习正 ...
- ICC_lab总结——ICC_lab6:版图完成
ICC_workshop的最后一个实验了.在这次的实验中,由于我使用ICC的版本与workshop的lab不是同一个版本,因此在后面的实验过程不是很顺利,主要是在LVS的过程中,最后的LVS没有通过. ...
- Ubuntu16.04安装xampp及部署Testlink
一.从官网下载xampp并安装: https://www.apachefriends.org/zh_cn/index.html chmod +x xampp-linux-x64-5.6.30-0-in ...
- GCM(Google Cloud Messaging)推送完全解析
应该是目前为止全网最详细的GCM推送解析. GCM官方解释: https://developers.google.cn/cloud-messaging/?hl=zh-cn Send data from ...
- XJOI1689相连的城市
相连的城市 n个城市中,某些城市间有道路互相连接.给出与每个城市相邻的城市有多少个,请输出城市间的邻接矩阵. 输入格式: 第一行输入一个正整数n,表示城市的个数. 第二行输入n个用空格隔开的非负整数, ...
- 树莓派Raspberry中成功安装RobotFramework+Selenium
[原创链接]:http://www.cnblogs.com/atsats/p/6666848.html 一般RobotFramework都是安装在Windows/Linux的PC机上,这里将简单介绍在 ...