把angular js 的一些功能函数记录下来,就相当于做做笔记!!
1.angualar.bind :将对象绑定进 函数中,
如:
var
obj = { name:
"Any"
};
var
fn =
function
(Adj) {
console.log(
this
.name +
"is a boy!!! And he is "
+ Adj +
" !!!"
);
};
var
f = angular.bind(obj, fn,
"handsome"
);
f();
//Any is a boy!!! And he is handsome!!!
第一个参数为对象,第二个为要绑定的函数,第三个为可选是传到函数中的参数。
2.angular.bootstrap : 可用于模块的手动加载。
<body> <div id="div2" ng-controller="controller2">div2:{{name}}div> body>
var m2 = angular.module('moudle2', []);
m2.controller("controller2",function($scope){$scope.name="aty"});
// 页面加载完成后,再加载模块
angular.element(document).ready(function() {
angular.bootstrap(document.getElementById("div2"),["moudle2"]);
});
angular.copy(source, [destination]);
source:为数据源(要复制的东西)
destination: 为目的地。(可以为数组或者对象)
4. angular.element
angular 中内置了 一个jquery 的子集jqLite。
jqLite的jQuery是一个微小的,API的兼容子集,允许角操纵一个跨浏览器兼容的方式DOM。jqLite具有一个非常小的足迹的目标只实现了最常用所需的功能
angular.element 可以传入dom 元素返回一个jquery 对象。
angular.element(document).css("class","isChen");
注:该子集jqLite 仅支持一下方法:
addClass()
- 不支持一个函数作为第一个参数after()
append()
attr()
- 不支持函数作为参数bind()
- 不支持命名空间,选择或EVENTDATAchildren()
- 不支持选择clone()
contents()
css()
-只检索直列风格,不叫。作为一名二传手,没有数字转换为字符串或追加“PX”,也没有自动属性前缀。getComputedStyle()
data()
detach()
empty()
eq()
find()
- 通过标签名限于查询hasClass()
html()
next()
- 不支持选择on()
- 不支持命名空间,选择或EVENTDATAoff()
- 不支持命名空间,选择或事件对象作为参数one()
- 不支持命名空间或选择parent()
- 不支持选择prepend()
prop()
ready()
remove()
removeAttr()
removeClass()
- 不支持一个函数作为第一个参数removeData()
replaceWith()
text()
toggleClass()
- 不支持一个函数作为第一个参数triggerHandler()
- 通过一个虚拟事件对象来处理unbind()
- 不支持命名空间或事件对象作为参数val()
wrap()
都是jquery 的函数,不懂自已看文档,我就不说了。
5.angular.equals
确定两个对象或两个值是相等的。支持值类型,正则表达式
比较两个值是要值相等类型相当才返回true,
比较两个对象的话是用angular.equals 比较其属性才判断。
6.angular.extend()
方法可以把一个或多个对象中的方法和属性扩展到一个目的对象中,使得这个对象拥有其他对象相同的方法和属性,angular.extends()方法的第一个参数是要被扩展的对象,后面可以传入一个或多个对象。
如: angular.extend($scope.human, $scope.baby, $scope.adult);