- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AngularJS的介绍
内容提要
第一部分:什么是AngularJs?
第二部分:一个简单的例子
第三部分:四大特性(MVC,模块化,双向数据绑定,指令)
第四部分:依赖注入
第五部分:服务,路由,过滤器
第六部分:AngularJS的优势与缺点
第一部分
什么是AngularJs?
什么是AngularJs?
AngularJS是协助搭建单页面工程的开源前端框架。它通过MVC模式使得开发与测试变得更容易。
AngularJS试图成为WEB应用中的一种端对端的解决方案。它将指导开发整个应用。
AngularJS于2009年发布第一个版本,由Google进行维护,压缩版94k。
AngularJs的核心思想
将视图与业务逻辑解耦。在AngularJS中通过数据视图双向绑定实现。这将提高代码的可测试性。
UI视图
数据模型
视图、数据双向更新
这个过程由
AngularJs自动进行
开发者无需关注
遵循MVC模式开发,鼓励视图、数据、逻辑组件间松耦合。
将测试与应用程序编写同等重要。在编写模块同时编写测试。因为各组件的松耦合,使得这种测试得以实现。
应用程序页面端与服务器端解耦。两方只需定义好通信API,即可并行开发。
一个简单的例子
来看看使用AngularJs怎么做
几乎没有DOM操作,更专注于业务逻辑!
编写HTML
body ng-app ng-controller=PhoneListCtrl
input ng-model=quer/
select ng-model=sortType
option value=name
按名字排序/option
option value=age
按年龄排序/option
/select
ul
li ng-repeat=phone in phones
| filter:quer | orderBy:sortType
{{}}
p{{phone.snippet}}/p
p{{phone.age}}/p
p
img ng-src={{phone.imsrc}}/
/p
/li
/ul
/body
ng-app:AngularJS程序入口,对该标签内的元素进行初始化。
ng-controller:在当前元素范围内绑定指定的控制器(controller)。
ng-model:指定当前元素与数据模型($scope)中的属性绑定,如果数据模型中没有此属性,会自动新建一个。
ng-repeat:循环$scope中的属性,类似于{{#each beans}}
{{xxx}}:花括号表示读取某一属性值
filter、orderBy:过滤器。filter可以根据指定的属性过滤数据(例子里是quer属性)。orderBy是排序过滤器。这两个过滤器都是内置的。过滤器是可自定义的。
编写控制器Controller
var PhoneListCtrl = [$scope, $http,
function($scope, $http) {
$http.get(../json/test-1.json)
.success(function(data) {
$scope.phones = data;
});
$scope.sortType = age;
}
];
PhoneListCtrl 控制器。控制器的声明方式是
var c1=[ser1,ser2,function]
c1是控制器的名字,ser1、ser2是控制器所依赖的服务,以声明的方式注入到控制器中。例子中注入了$scope(数据模型)、$http(封装了ajax的服务)。这两个服务都是angularjs内置服务,服务是可以自定义的。
$scope.phones = data; 在这个地方后台返回的数据应用到了数据模型中,这时前台UI会自动响应更新。
四大核心特性
模块化
MVC
指令
双向数据绑定
模块
在AngularJS中,模块负责组织、启动、实例化应用。
模块的简单写法:
angular.module(modulename, [x1,x2])//依赖于x1、x2模块
.directive(directiveName, function() {})
.factory(a, function() { return 123; })//创建服务
.filter(b,function(){})//创建过滤器
.value(d, 123)//创建变量,创建后可修改
.contract(c,
文档评论(0)