一、指令

1、ng-app

定义应用程序的根元素

  1. <div ng-app="app"></div>
  1. var app = angular.module('app', []);

2、ng-controller

为应用定义控制器对象

  1. <div ng-controller="appController"></div>
  1. app.controller('appController', function($scope) {
  2. //你的代码
  3. })

3、ng-repeat

遍历集合中(数组中)的每个项,给每个元素生成模板实例

普通:

  1. ng-repeat="key in keys"

自定义遍历后的内容:

  1. ng-repeat="(key, value) in cache.info()"

过滤:

  1. ng-repeat="friend in friends | filter:searchText"

排序:

  1. ng-repeat="friend in friends | orderBy:'-age'"

4、ng-options

遍历集合或数组,为HTML的<select>标签生成<option>元素

普通:

  1. ng-options="color.name for color in colors"

显示的是name,选中值是id

  1. ng-options="option.id as option.name for option in Options"

分组:

  1. ng-options="option.id group by option.name for option in Options"

5、ng-class

用于动态设置dom元素的样式

  1. ng-class="{'true':'badge bg-green', 'false':'badge bg-red'}[isActive]"

6、ng-style

用于动态自定义dom元素的css

  1. ng-style="{ color: i.color=='' || i.color=='Default' ? 'default' : 'red' }"

7、ng-model

把HTML元素值(比如输入域的值)绑定到应用程序

  1. <input type="text" ng-model="userName">

8、ng-if

可以完全根据表达式的值在DOM中生成或移除一个元素

  1. <div ng-if="isChecked == true">为true则可显示</div>

9、ng-hide / ng-show

隐藏或显示 HTML 元素

直接使用布尔值

  1. <p ng-hide="true">我是不可见的</p>
  2. <p ng-hide="false">我是可见的</p>
  1. <p ng-show="true">我是可见的</p>
  2. <p ng-show="false">我是不可见的</p>

使用表达式来计算布尔值

  1. <p ng-hide="1+1 == 2">我是不可见的</div>
  1. <p ng-show="2+2 == 4">我是可见的</div>

10、ng-init

初始化应用程序数据

  1. <div ng-init="name='张三'">
  2. My name is {{ name }}
  3. </div>

11、ng-bind

绑定程序数据到HTML元素,也可用"{{}}"代替

  1. <div>
  2. <h1>Hello <span ng-bind="name"></span></h1>
  3. </div>

12、ng-disabled

绑定应用程序数据到 HTML 元素的 disabled 属性

  1. <button ng-disabled="1+1==2">不可点击</button>

13、ng-include

在应用中包含 HTML内容

  1. <div ng-include="'userList.htm'"></div>

14、ng-form

和HTML的<form>标签一样,但可以被<form>标签嵌套

15、ng-readonly

绑定应用程序数据到 HTML 元素的 readonly 属性

  1. <input type="text" ng-readonly="isReadOnly"/>

16、ng-checked

为HTML的勾选框动态设置勾选状态

  1. <input type="checkbox" ng-checked="true" />

17、ng-selected

为HTML的下拉框<select>设置默认选择

  1. <select>
  2. <option>First</option>
  3. <option>Second</option>
  4. <option ng-selected="true">Third</option>
  5. </select><span>
  6. <select>
  7. <option ng-repeat="person in persons" ng-select="person.sex == 'boy'">{{ person.sex }}</option>
  8. </select>

18、ng-cloak

隐藏所有被它包含的元素,在浏览器加载和编译渲染完成之后,angular会自动删除ngCloak元素属性,这样这个元素就会变成可见的

  1. <div ng-cloak>
  2. <h1>Hello World!</h1>
  3. </div>

19、ng-switch

分支语句

  1. <span ng-switch="person.sex">
  2. <span ng-switch-when="boy">boy</span>
  3. <span ng-switch-when="girl">girl</span>
  4. <span ng-switch-default></span>

20、ng-href

和HTML的href属性相通

  1. <a ng-href="/user/1">Link</a>

21、ng-src

和HTML的src属性相通

  1. <img ng-src="{{imageUrl}}">

二、事件

1、ng-click

定义了AngularJS的点击事件

  1. <button ng-click="click()">click me</button>

2、ng-dbl-click

定义了AngularJS的双击事件

  1. <button ng-dblclick="dblclick()">click me</button>

3、ng-mousedown

当元素上按下鼠标按钮时触发

  1. <button ng-mousedown="mousedown($event)">button</button>

4、ng-mouseenter

当鼠标进入元素时触发

  1. <button ng-mouseenter="mouseenter()">button</button>

5、ng-mouseleave

当鼠标离开元素时触发

  1. <button ng-mouseleave="mouseleave()">button</button>

6、ng-mousemove

当鼠标指针移动到元素上时触发

  1. <button ng-mousemove="mousemove()">button</button>

7、ng-keydown

在用户按下键盘按键时触发,要把$event传过去,一般都是要判断按了哪个按键

  1. <input type="text" ng-keydown="keydown($event)"/>

8、ng-keyup

在用户按下键盘按键并松开时触发

  1. <input type="text" ng-keyup="keyup($event)"/>

9、ng-keypress

在用户敲击键盘按键时触发

  1. <input type="text" ng-keypress="keypress($event)"/>

keydown,keypress,keyup三者区别:

引发事件的按键

非字符键不会引发 KeyPress 事件,但非字符键却可以引发 KeyDown 和 KeyUp 事件。

事件引发的时间

KeyDown 和 KeyPress 事件在按下键时发生,KeyUp 事件在释放键时发生。

事件发生的顺序

KeyDown -> KeyPress -> KeyUp

10、ng-change

当元素的model值改变时触发

  1. <input type="text" ng-model="text" ng-change="change()" ng-minlength="5"/>

11、ng-blur

当元素失去焦点时触发

  1. <a href="" ng-blur="blur()">link</a>

12、ng-focus

当元素获取焦点时触发

  1. <a href="" ng-focus="focus()">link</a>

三、服务

1、$scope

$scope 对象在 AngularJS 中充当数据模型的作用,也就是一般 MVC 框架中 Model 得角色.但又不完全与通常意义上的数据模型一样,因为 $scope 并不处理和操作数据,它只是建立了视图和 HTML 之间的桥梁,让视图和 Controller 之间可以友好的通讯。

2、$rootScope

$rootScope 是所有 $scope 的最上层对象,可以理解为一个 AngularJS 应用中得全局作用域对象。

3、$watch

当你的数据模型中某一部分发生变化时,$watch函数可以向你发出通知。你可以监控单个对象的属性,也可以监控需要经过计算的结果(函数)。它的函数签名为$watch(watchFn, watchAction, deepWatch)。

watchFn:该参数是一个带有Angular表达式或者函数的字符串,它会返回被监控的数据模型的当前值。

watchAction:这是一个函数或者表达式,当watchFn 发生变化时会被调用。

deepWatch:如果设置为true,这个可选的布尔型参数将会命令Angular去检查被监控对象的每个属性是否发生了变化。

4、$http

$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。可以使用get、post、patch、delete等请求。

  1. $http.get(url).success(function(data) {
  2.  // success 
  3. }).error(function (data) {
  4. // fail
  5. });

5、$location

  • 暴露当前地址栏的URL,这样你就能

    • 获取并监听URL。
    • 改变URL。
  • 当出现以下情况时同步URL
    • 改变地址栏
    • 点击了后退按钮(或者点击了历史链接)
    • 点击了一个链接
  • 一系列方法来获取URL对象的具体内容用(protocol, host, port, path, search, hash).formatDate

6、$window

7、$interval

  1. $interval(function() {
  2. // 每秒执行一次
  3. }, 1000);

8、$timeout

  1. $timeout(function(){
  2. // 延迟1秒执行
  3. }, 1000);

9、$routeParams

通过route传递参数

  1. .when('/platform/user/deatil/:params', {
  2. templateUrl: 'V/user/user.detail.tpl.html',
  3. controller: 'PlatformUserDetailController'
  4. })

获取route的参数

  1. var params = $routeParams.params

10、$compile

$compile方法来执行DOM的编译

四、全局API

1、转换

API 描述
angular.lowercase() 将字符串转换为小写
angular.uppercase() 将字符串转换为大写
angular.copy() 数组或对象深度拷贝
angular.forEach() 对象或数组的迭代函数

2、比较

API 描述
angular.isArray() 如果引用的是数组返回 true
angular.isDate() 如果引用的是日期返回 true
angular.isDefined() 如果引用的已定义返回 true
angular.isElement() 如果引用的是 DOM 元素返回 true
angular.isFunction() 如果引用的是函数返回 true
angular.isNumber() 如果引用的是数字返回 true
angular.isObject() 如果引用的是对象返回 true
angular.isString() 如果引用的是字符串返回 true
angular.isUndefined() 如果引用的未定义返回 true
angular.equals() 如果两个对象相等返回 true

3、JSON

API 描述
angular.fromJSON() 反系列化 JSON 字符串
angular.toJSON() 系列化 JSON 字符串

4、基础

API 描述
angular.bootstrap() 手动启动 AngularJS
angular.element() 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。
angular.module() 创建,注册或检索 AngularJS 模块

转自:http://blog.csdn.net/u010870890/article/details/49619141

AngularJS常用指令的更多相关文章

  1. [AngularJS] 常用指令

    常用指令 ng-hide指令,用于控制部分HTML元素可见(ng-hide="false")和不可见状态(ng-hide="true"),如下: <div ...

  2. angular与angularjs常用指令的不同写法整理

    angularjs与angular 常用的指令写法的区别; 一:angularjs指令 1.ng-bind 使用给定的变量或表达式的值来替换 HTML 元素的内容 <p ng-bind=&quo ...

  3. AngularJs 常用指令标签

    1.ng-app:告诉Angular他应该管理页面的那一部分,可以放在html元素上也可以放在div等标签上 例:<html ng-app="problem"> 2.n ...

  4. AngularJS常用指令用法详解

    ng-class 1>ng-init   ng-bind 11111 2>ng-class 111 3>ng-repeat 3.1-数据绑定     ng-repeat可以绑定数组和 ...

  5. Angular JS从入门基础 mvc三层架构 常用指令

    Angular JS从入门基础  mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...

  6. 走进AngularJs(二) ng模板中常用指令的使用方式

    通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...

  7. AngularJS常用插件与指令收集

    angularjs 组件列表 bindonce UI-Router Angular Tree angular-ngSanitize模块-$sanitize服务详解 使用 AngularJS 开发一个大 ...

  8. AngularJS之指令

    紧接上篇博客“初探AngularJS” 一.前言 在AngularJS中指令尤为重要且内容庞多,固单独提炼出来,梳理一番.如有错误,请不吝讲解. 好了,言归正传,让我们一起走进Angular指令的世界 ...

  9. 学习AngularJs:Directive指令用法(完整版)

    这篇文章主要学习AngularJs:Directive指令用法,内容很全面,感兴趣的小伙伴们可以参考一下   本教程使用AngularJs版本:1.5.3 AngularJs GitHub: http ...

随机推荐

  1. [web建站] 极客WEB大前端专家级开发工程师培训视频教程

    极客WEB大前端专家级开发工程师培训视频教程  教程下载地址: http://www.fu83.cn/thread-355-1-1.html 课程目录:1.走进前端工程师的世界HTML51.HTML5 ...

  2. C#基础系列——反射笔记

    前言:使用反射也有几年了,但是一直觉得,反这个概念很抽象,今天有时间就来总结下这个知识点. 1.为什么需要反射: 最初使用反射的时候,作为小菜总是不理解,既然可以通过new 一个对象的方式得到对象,然 ...

  3. 2016年iOS笔试题

    收集了一些ios面试的一些基础的试题,其中也有一些较难的 1.请简述UIView与CALayer有什么不同.2.Block什么情况下会保留实体内引用到外部对象,什么时候要用__block或__weak ...

  4. linux基础知识与技能3

    3.2.vi的高级使用* 查找在命令模式下,输入/xxx,就可以查找到xxx * 快速切换行在命令模式下,输入:num,就可以快速切换到num行 * 设置显示行号在命令模式下,输入:set nu,就可 ...

  5. iOS小知识点(非UI部分)

    1. _cmd 表示当前方法的@SEL指针, - (void)putString{} 对于这个函数_cmd 等效于@selector(putString)

  6. 红米3 SudaMod(android_6.01_r72)高配指纹/农历/归属地/SM天气/流畅运行/红外线正常/更新于20161025

    一.写在前面 我只是个人爱好,本ROM未集成任何第三方推广软件,我只是喜欢把好的资源分享出来,若可以,我们一起学习,一起进步. 请不要问我怎么刷机! 请不要问我玩游戏卡不卡(有钱你就换好点的手机)! ...

  7. Alpha阶段第五次Scrum Meeting

    情况简述 Alpha阶段第五次Scrum Meeting 敏捷开发起始时间 2016/10/26 00:00 敏捷开发终止时间 2016/10/27 00:00 会议基本内容摘要 汇报各自完成的任务, ...

  8. 如何实现CDN的ns智能解析和动手验证Akamai的实现

    1.什么是ns智能解析 通常CDN业务中,智能解析域名,是根据请求方ip的不同给出不同的A记录. 而ns智能解析,是根据请求方ip的不同让他去不同的ns上解析域名,把ns推向离用户更近的边缘节点来缩短 ...

  9. 使用css打造形形色色的形状!

    使用css打造形形色色的形状! css是非常强大的工具,如果我们掌握的好,那么许多复杂的形状不需要使用图片而直接使用css完成即可,这不仅有利于减少http请求以增强性能还便于日后的管理和维护,一举两 ...

  10. oracle---日期等plsql

    日期/时间 相关查询 1.获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. SELECT TRUNC ( ...