02-工具方法

工具方法

angular.bind

描述:

上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。

使用方法:

1
angular.bind(self,fn,args );

angular.bootstrap

描述:

此方法用于手动加载angularjs模板
(官方翻译:注意基于端到端的测试不能使用此功能来引导手动加载,他们必须使用ngapp。 angularjs会检测这个模板是否被浏览器加载或者加载多次并且在控制台给出警告在加载其他模块的时候,这防止了奇怪的结果,在实际应用中,angularjs在尝试其它的多个实例来研究DOM)。

使用方法:

1
angular.bootstrap(element, [modules], [config]);

angular.copy

描述:

复制一个对象或者一个数组(好吧,万物皆对象,数组也是一个对象)。
如果省略了destination,一个新的对象或数组将会被创建出来;
如果提供了destination,则source对象中的所有元素和属性都会被复制到destination中;
如果source不是对象或数组(例如是null或undefined), 则返回source;
如果source和destination类型不一致,则会抛出异常。
注意:这个是单纯复制覆盖,不是类似继承

使用方法:

1
angular.copy(source, [destination]);

返回值:

返回复制或更新后的对象

angular.element

描述:

包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.element只能接受HTML字符串或者DOM元素为参数,选择的元素只可以调用Angular中嵌入的精简版的jQuery library(名为: “jQuery lite” or “jqLite”).
注意: 所有被Angular引用的元素都是jQuery或者jqLite对象,不是原始的DOM元素了。

返回值:

jQuery对象或者jqLite对象

补充:

jqLite支持的jQuery函数有:

  • addClass()
  • append()
  • attr()
  • bind()
  • children()
  • clone()
  • contents()
  • css()
  • data()
  • detach()
  • empty()
  • eq()
  • find()
  • hasClass()
  • html()
  • next()
  • on()
  • off()
  • one()
  • parent()
  • prepend()
  • prop()
  • ready()
  • remove()
  • removeAttr()
  • removeClass()
  • removeData()
  • replaceWith()
  • triggerHandler()
  • unbind()
  • val()
  • wrap()

angular还提供了一下额外的方法和事情(有无jQuery都适用)
事件:

$destroy: 当jqLite/jQuery DOM对象被销毁是促发。

方法:

  • controller(name)
  • injector()
  • injector()
  • scope()
  • isolatescope()
  • inheriteddata()

angular.equals

描述:

比较两个值或者两个对象是不是相等。还支持值的类型,正则表达式和数组的比较。两个值或对象被认为是相等的前提条件是以下的情况至少能满足一项:

  • 两个值或者对象能通过=== (恒等) 的比较
  • 两个值或者对象是同样类型,并且他们的属性都能通过angular.equals的比较
  • 两个值都是NaN
  • 两个值代表两个同样的正则表达式,例如angular.equals(‘/abc/‘, ‘/abc/‘)

使用方法:

1
angular.equals(o1, o2)

返回值:

boolean(如果相等返回True)

angular.forEach

描述:

循环对obj对象的每个元素调用iterator, obj对象可以是一个Object或一个Array. Iterator函数调用方法: iterator(value, key, obj), 其中obj是被迭代对象,key是obj的property key或者是数组的index,value就是相应的值啦.

使用方法:

1
angular.forEach(obj, iterator, [context])

angular.fromJson

描述:

把Json字符串转为对象

使用方法:

1
angular.fromJson(json);

angular.toJson

描述:

把对象转为Json字符串

使用方法:

1
angular.toJson(obj, pretty);

angular.identity

描述:

返回它第一参数的函数. 此函数多用于函数是编程.

使用方法:

1
angular.identity(value);

返回值:

1
value

angular.extend

描述:

复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制.

使用方法:

1
angular.extend(dst, src);

返回值:

对dst的引用

angular.injector

描述:

创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入.

使用方法:

1
angular.injector(modules, [strictDi])

返回值:

Injector对象

angular.lowercase

描述:

将指定的字符串转换为小写。

使用方法:

1
angular.lowercase(string);

angular.uppercase

描述:

将指定的字符串转换为大写。

使用方法:

1
angular.uppercase(string);

angular.isArray

angular.isDate

angular.isDefined

angular.isUndefined

angular.isFunction

angular.isNumber

angular.isObject

angular.isString

angular.isElement