作为mvvm 框架过重 不适用于性能比较高的移动端的web栈, ui组建性对复杂,不利于重用
AngularJS 构建一个CRUD ( create retrieve update delete )的应用,
其内容:双向数据绑定{{取值}}、基本模版标识符、表单数据、路由、深度链接、组件重用、依赖注入;
代码解析:
ng-app 标记了angularJS脚本的作用域。
{{ }}双大括号--angularjs的核心功能-绑定。
angular expression 表达式 是一种类似于javascript的代码片段,尽在起作用域中运行,而不是整个dom中运行。
指令:ng-app 初始化一个angularjs应用程序
ng-init 指令初始化应用程序数据
ng-model 指令 把元素值绑定到应用程序
ng-repeat 重复一个html元素 循环一个对象数组
$scope作用域 是应用在html 视图和 javascript控制器之间的纽带
使用:创建控制器时,可以将$scope对象当作一个参数传递
$rootScope 根作用域可作用于整个应用中。
过滤器:currency 格式化数字为货币格式
filter 从数组项中选择一个子集
lowercase 格式化字符串为小写
orderBy根据某个表达式排列数组
uppercase 格式化字符串为大写
$http.get(url).success(function(response){}) 用于读取服务器数据的函数
select(选择框)
ng-options指令 来创建一个下拉列表,列表项通过对象和数组来循环
ng-repeat 指令 来创建下拉列表
html dom元素的属性绑定应用数据的指令
ng-disabled 指令 <input type='button' ng-disabled = 'true'>
ng-show ng-show = 'true'
ng-hide
事件
ng-click <button ng-click="count=count+1">
原则:
1 不要试图去复用controller,一个控制器一般只负责一小块视图;
2 不要在controller中操作dom,这不是控制器的职责;
3 不要在controller里面做数据格式化,ng有很好用的表单控件
4 不要在controller里面做数据过滤操作,ng有$filter服务
5 一般,controller是不会相互调用的,控制器之间的交互会通过事件进行
AngularJS的MVC是借助于$scope实现的!!
指令 .directive('',function(){ return{ restrict:'AEMC',template:true,compile:function(){},link:function(){操作dom 绑定事件} } })
restrict:''
E 元素 <hello></hello>
A 属性 <div hello></div>
C 样式类 <div class='hello'></div>
M 注释 <!-- directive:hello -->
scope的绑定策略:
flavor:'@' 当前属性作为字符串传递
flavor:'=' 与父scope中的属性进行双向绑定
greet:'&' 传递一个来自父scope的函数,稍后调用