标签:
AngularJs概述:AngularJs简称为ng。它是一个框架,在设计动态web应用的框架结构,有一部分人认定其借鉴了MVC架构模式,MVC(model view controller),由模型,视图,控制器组成;而还有一部分人觉得ng是借鉴的MVVM框架,现在并没有一个统一的说法。依赖注入是它的一个很明显的特点。它除了依赖注入特性还包含了很多其它的特性,其中包括模版机制、数据绑定、模块、指令等等。其还有一个特点就是只要我们给DOM注上metadata,ng就会帮我们完成DOM操纵,而且ng还可以和其它的JS框架共存,不会影响和依赖其它的JS框架。
AngularJs什么时候用:在对页面DOM进行大量操作的时候(如游戏开发)或者需要极高运行速度的应用,这种时候不适合用ng,但是如果是在单页应用的开发,它可以使用动态绑定的功能,还可以跟其它JS框架(如JQ)相互合作开发。
AngularJs的特性:
特性一:双向数据绑定
数据绑定是ng最实用的特性,他能让我们避免编写大量的代码,节约了我们的编码时间,数据绑定指令让你的模型和视图相连接,让模型的值赋值到视图上,不会影响到没有绑定的视图上,当模型值发生改变时,ng会自动操纵DOM将视图中绑定的值改变成和模型上的值一样,当然,如果视图上的绑定值发生改变,对应的绑定模型也会发生改变.双向数据绑定还有一个特点就是能够DOM和Model能够同步改变。
例:
<!doctype html>
<html ng-app="MyApp">
<head>
<script src="./js/angular.min.js"></script>
</head>
<body>
<div>
<label>用户名:</label>
<input type="text" ng-model="username" placeholder="请输入用户名">
<hr>
<h1>欢迎用户{{username}}登录!</h1>
</div>
</body>
</html>
当你在输入框输入时,h1标签的内容会跟着你输入的信息一起改变,例如你在输入框输入张三,h1标签内容为“欢迎用户张三登录”,如果输入李四,h1标签内容为“欢迎用户李四登录”。而且是同步改变的,不需要重新加载该页面。
容易粗心大意的地方:<html>标签的ng-app属性一定要写。标识这个DOM里面的内容将启用AngularJS应用。否则AngularJS根本引用不了。其中还要注意的是ng-model后面跟的自定义名字要和你想添加的地方的{{}}中的名字一致,否则系统无法找到对应位置,
特性二:指令
指令是可以用来创建自定义的标签,他可以装饰你指定元素的指定样式,也可以操作和创建一个DOM属性,还可以作为标签、属性、注释和类名的使用。
例:
myApp.directive(isUse, function(mySharedService) {
return {
restrict: ‘E‘,
controller: function($scope, $attrs, mySharedService) {
$scope.$on(‘handleBroadcast‘, function() {
$scope.message = ‘Directive: ‘ + mySharedService.message;
});
},
replace: true,
template: ‘<input>‘
};
});
自定义名字为isUse,在添加时要写成is-use,自定义创建一个input标签。restrict: ‘E‘中。E表示标签的意思,A表示属性的意思,replace: true,是否替换原标签,true表示确定替换,false表示不替换。Template后面这是跟的标签内容,如果是A自定义属性的话,那么后面就是跟一个匿名函数,然后写自定义属性的内容,使用这个指令功能创建自己的标签呵属性可以让我们更方便的添加,删除和更新这些自定义标签和属性功能。
标签:
原文地址:http://www.cnblogs.com/z5206808/p/4558767.html