angularjs常用的指令归纳

参数传递的形式

考虑到最终的项目的运行的时候,都会采用压缩,然而,在angularjs在执行的过程,它会根据传递的形参来接收实参的值,因此,为了避免在压缩过程中,传递的形参被代替,因此控制器中,传递的参数需要写成以下模式。
模块对象.controller(‘控制器名’,[‘参数’,function(参数){}])

作用域

它也存在着作用域链,现在当前的控制器中去找,如果没有则会到父控制器找,如果没有,则会找到全局作用域下。页面一上来的时候 首先会执行 run方法 并且只会执行一次,项目初始化。
模块对象.run([‘$rootScope’,function($rootScope){}]) 此方式可以设置全局作用域。

常用的指令解析

ng-repeat = ‘遍历的每一项 in 遍历的数据’ ng-repeat=”(key,val) in info”
key代表键 val代表值,数组中则代表的是索引和对应的该项。
(此方法主要用于遍历),注意:遍历的时候一定要用情遍历的数据是什么。
$index 循环过程中的索引
$first 是否是第一项
$last 是否是最后一项
$middle 是否是中间项 除了第一项 和 最后一项 全是中间项
$even 是否是偶数项
$odd 是否是奇数项
$timeout 延时 使用和setTimeout一样
ng-class 是专门用来添加、删除、类名的。
-> 如<div ng-class='{"active":true}'></div>通过传入的布尔值来控制类名的有无。ng-class=”{‘active’: 布尔类型 true | false | 变量 | 能够转换为布尔值的表达式 }”

ng-bind=”数据变量” 它作为标签的属性设置
-> 如<div ng-bind="msg" >

ng-bind-template=”数据1、数据2”
-> 如:<div ng-bind-template="{\{msg\}}{\{abc}\}" >

ng-cloak angularjs在解析完指令所在元素内部的数据以后,会将指令所在的元素, 显示添加样式
-> 如<div class="ng-cloak">{\{msg}\}{\{abc}\}</div> .ng-cloak {display:none};

以上三种方式:可以解决当页面加载的时候,出现的双大括号的现象,很好的解决了用户体验。
ng-non-bindable不解析表达式
-> 如<div ng-non-bindable>大括号</div>双大括号不会被解析

ng-show=”值” 如果值为true 指令所在的元素显示,反之隐藏
ng-hide=”值” 如果值为true 指令所在的元素隐藏,反之显示
ng-if=”值” 如果值为true 指令所在的元素显示,反之隐藏
->注意:ng-if 是通过增加 删除 DOM节点方式达到显示隐藏的目的ng-show ng-hide 是通过样式的方式 达到显示隐藏的目的
ng-switch ng-switch-when ng-switch=”变量”,拿变量跟 ng-switch-when=”值”的值相匹配, 如果匹配上,元素显示 否则元素隐藏
ng-options 用来循环下拉列表,在select标签上添加此属性,ng-options=每一项数据.值 as 每一项数据.键 for 每一项数据 in 遍历的数据’,表单元素还需要添加ng-model=’ball’属性否则会报错
ng-dblclick 双击,事件对象$event,需作为参数传进去(如果需要打印事件处理对象,则需在传入实参的时候,传入$event),同时可以打印事件处理对象,来查询angularjs里面有哪些方法。