最近公司刚好要用到AngularJS,那我就自己边用边整理,虽然网上有完整的手册,但我还是想自己归纳一下,用到一点写一点, 毕竟自己用过的东西才算真正的掌握。
| 创建一个AngularJS模块 |
使用angular.module()方法
|
| 设置一个模块的作用域 |
使用ng-app属性
|
| 定义一个控制器 |
使用Module.controller()方法
|
| 将一个控制器应用于一个视图 |
使用ng-ontroller()方法
|
| 从控制器向视图传递数据 |
使用$scope服务 |
|
自定义一个指令 |
使用Module.directive()方法
|
|
自定义一个过滤器 |
Module.filter()方法
|
| 以编程方式使用一个过滤器 |
使用$filter服务 |
|
自定义一个服务 |
使用Module.service()/Module.factory()/Module.provider()方法
|
| 从一个已有的对象或值定义一个服务 |
使用Module.value()方法
|
| 向应用程序中的代码添加结构 |
创建多个模块并从ng-app属性引用的模块中声明依赖 |
|
注册在模块被加载时调用的函数
|
使用Module.config()和Module.run()方法
|
绑定和模块指令
| 创建一个单向绑定 |
使用ng-bind(用于单个属性)或ng-bind-template(用于多个属性)指令 或内联表达式{{ }} |
| 阻止AngularJS处理内联绑定表达式 |
使用ng-non-bindable指令 |
| 创建双向数据绑定 |
使用ng-model指令 |
|
生成重复内容
|
使用ng-repeat指令 |
| 获得ng-repeat指令中生成的对象的信息 |
使用ng-repeat内置变量,如$first(第一个)$last(最后一个)等 |
| 重复多个顶层属性
|
使用ng-repeat-start 和ng-repeat-end 指令 |
| 加载一个局部视图,如html文件
|
使用ng-include指令 |
| 有条件的显示元素 |
使用ng-switch指令 |
| 加载模块时隐藏内联表达式 |
使用ng-cloak指令 |
元素和事件指令
|
显示或隐藏元素 |
使用ng-show和ng-hide指令 |
| 从DOM中删除元素 |
使用ng-if指令 |
| 将元素添加到css类中,或者设置某个css |
使用ng-class 或者 ng-style指令 |
| 对ng-repeat生成的奇数行或偶数行添加不同的css |
使用ng-class-odd和ng-class-even指令 |
| 定义在某个事件被出发时执行的行为 |
如ng-click(点击),ng-blur(失去焦点)等 |
| 处理一个AngularJS未提供指令支持的事件 |
创建一个自定义事件指令 |
| 对元素使用布尔属性
|
使用一个布尔属性指令,如ng-checked等 |
|
|
完整事件指令表
| ng-blur |
失去焦点时触发 |
| ng-change |
在表单元素内容发生变化时触发 |
| ng-click |
点击时触发 |
| ng-copy |
复制 |
| ng-cut |
剪切 |
| ng-paste |
黏贴 |
| ng-dbclick |
双击 |
| ng-focus |
获得焦点时触发 |
| ng-keydown |
键盘按下时触发 |
| ng-keypress |
键盘按下时触发 |
| ng-keyup |
键盘按键抬起时吃法 |
| ng-mousedown |
鼠标按下 |
| ng-mouseenter |
鼠标进入 |
| ng-mouseleave |
鼠标离开 |
| ng-mousemove |
鼠标移动 |
| ng-mouSEOver |
鼠标放上 |
| ng-mouseup |
鼠标放开 |
| ng-submit |
表单提交时触发 |
表单中input 的type类型
| checkBox
|
创建一个复选框(h5之前就有) |
| email |
创建一个接收邮件地址作为值的文本输入框(h5新增) |
| number |
创建一个接收数值类型作为值得文本输入框(h5新增) |
| radio
|
创建一个单选框(h5之前就有) |
| text |
创建一个接收任何值的文本框(h5之前就有) |
| url |
创建一个接收url作为值的文本输入框(h5新增) |
表单指令定义的校验变量
| $pristine |
用户没有与元素发生交互,则返回true |
| $dirty |
用户与元素发生交互,返回true |
| $valid |
元素校验结果为有效时,返回true |
| $invalid |
元素校验结果为无效时,返回true |
| $error |
提供校验错误的有效信息 |
此外,还可用css提供的方法校验反馈信息
css校验
| ng-pristime |
用户未曾交互过的元素被添加到这么类 |
| ng-dirty |
用户交互过的元素被添加到这么类 |
| ng-valid |
元素校验结果为有效时在这个类中 |
| ng-invalid |
元素校验结果为无效时在这个类中 |
适用于input元素的属性
| ng-model |
双向绑定 |
| ng-change |
元素被改变时被执行 |
| ng-minlength |
设置最小字符数长度 |
| ng-maxlength |
设置最大字符数长度 |
| ng-pattern |
设置正则表达式 |
| ng-required
|
通过数据绑定设置required
|
过滤器
| 币值过滤器 |
currency过滤器 |
| 格式化通用的数字值 |
number过滤器 |
| 格式化日期 |
data过滤器 |
| 改变对大小写 |
uppercase/lowercase过滤器 |
| 对过滤器产生的格式进行本地化 |
通过script标签增加一个angularjs本地化文件
|
| 从一个数组中选出一定数量的对象 |
limitTo过滤器 |
| 从数组中选取对象 |
fliter过滤器 |
| 对数组中的对象进行排序 |
orderBy过滤器 |
| 创建自定义过滤器 |
用Module.filter()方法制定一个函数
|
| 组合多个过滤器 |
使用链式写法(链式过滤器) |
jqLite操作Dom方法
| children() |
返回一组子元素 |
| eq(index) |
从一个元素集合中返回指定索引的元素 |
| find(tag) |
按照指定的tag名称定位所有的后代元素,jquery可以,jqLite不可用 |
| next() |
获得下一个兄弟元素 |
| parent() |
返回父元素 |
jqLite修改元素方法
| addClass(name) |
添加类名 |
| attr(name,value) |
设置一个自定义属性及属性值 |
| css(name,value) |
设置css |
| hasClass(name) |
如果有指定的类名,返回true |
| prop(name,value) |
设置指定值 |
| removeAttr(name) |
移除自定义属性
|
| text(value) |
设置文本内容
|
| toggleClass(name) |
有则移除类名,无则添加类名 |
| val(value) |
设置元素的value特性 |
| removeClass(name) |
移除类名 |
|
|
jqLite创建和移除元素的方法
| angular.element(html) |
创建一个对象 |
| after(elements) |
在元素后面插入特定内容
|
| append(elements) |
将特定元素作为最后一个子元素插入 |
| clone() |
复制一个元素并作为新的对象返回 |
| prepend(elements) |
将特定元素作为第一个子元素插入 |
| remove() |
删除元素 |
| replaceWith(elements) |
替换元素 |
| wrap(elements) |
包裹元素 |