嘿!@野兽,你的ng api 掉了 - - angular.forEach

@野兽的 ng api 学习 -- angular.forEach

angular.forEach

调用迭代器函数取每一项目标的集合,它可以是一个对象或数组。迭代器函数与迭代器(value、key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关键或数组元素索引。为函数指定一个可选的上下文。

格式:angular.forEach(obj,iterator,[context]);

obj:遍历的对象

iterator:迭代器

[content]: 对象为迭代器函数的上下文(this)

使用代码:

var arr = [{ name: "A", age: "1" }, { name: "B", age: "2" }, { name: "C", age: "3" }];

var _arr = [];

angular.forEach(arr, function (item, index) {

this.push(item.name);

}, _arr);

//_arr = ["A","B","C"]

在项目开发过程中,用到遍历是很正常且平常的事,那么angular也给我们提供了这个api -- angular.forEach。这个和jquery的的.each()方法相似,但貌似他比jquery的.each多了个参数,@野兽来解释下@野兽对这几个参数的理解吧。

首先第一个参数是object或者array类型的,代表的是被遍历的对象/数组。

然后第二个参数是一个函数,这个函数也有两个参数,第一个参数是依次传入被遍历的对象(数组)的属性(元素),第二个参数index是当前属性(元素)在被遍历的对象(数组)里的索引。

最后第三个参数是第二个参数里面的上下文this,在以上代码中,我们把arr进行了遍历,并把arr每个元素的name属性在函数内放到(this)里面,由于我们定义了第三个参数,所以现在函数里的this指的就是第三个参数,也就是_arr数组。

以上就是@野兽的理解,有什么不一样的理解,希望大家可以提出来,有交流才会得到更好的答案,才能学到更好的知识。

时间: 2024-10-13 16:00:22

嘿!@野兽,你的ng api 掉了 - - angular.forEach的相关文章

嘿!@野兽,你的ng api 掉了 - - angular.uppercase和angular.lowercase

@野兽的 ng api 学习 -- angular.uppercase和angular.lowercase angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = "ABCabc"; var upperCase = angular.uppercase(str);//ABCABC angular.lowercase 将指定的字符串转换成小写 格式:ang

嘿!@野兽,你的ng api 掉了 - - angular.identity和angular.noop

@野兽的 ng api 学习 -- angular.identity和angular.noop angular.identity 函数返回本身的第一个参数.这个函数一般用于函数风格. 格式:angular.identity() 使用代码: <script> angular.module("Demo", []) .controller("testCtrl", ["$scope", function ($scope) { var getR

嘿!@野兽,你的ng api 掉了 - - angular.element

@野兽的 ng api 学习 -- angular.element 将DOM元素或者HTML字符串一包装成一个jQuery元素. 格式:angular.element(element); element:包装成jquery对象的html字符串或者dom元素 jqLite提供的方法: addClass() after() append() attr() bind() – 不支持命名空间,选择器和事件数据 children() – 不支持选择器 clone() contents() css() da

嘿!@野兽,你的ng api 掉了 - - angular.copy

@野兽的 ng api 学习 -- angular.copy angular.copy 针对对象或数字创建一个深层的拷贝. 格式:angular.copy(source, [destination]); source:被拷贝的对象 destination:接收的对象 [注意:参数类型是对象或数组] 使用代码: var objA, objD = []; //objA:undefined objD:[] var objB = { text: "Hello World" }; var obj

嘿!@野兽,你的ng api 掉了 - - angular.bootstrap

@野兽的 ng api 学习 -- angular.bootstrap angular.bootstrap 使用这个功能来手动启动angular应用.基于ngScenario的端对端测试不能使用bootstrap手动启动,需要使用ngApp. Angular会检测应用在浏览器是否已启动并且只允许第一次的启动,随后的每次启动都将会导致浏览器控制台报错. 这可以防止应用出现多个Angular实例尝试在Dom上运行的一些奇异结果. 格式:angular.bootstrap(element,[nodul

野兽的Angular Api 学习、翻译及理解 - - form.FormController、ngModel.NgModelController

野兽的ng api学习 -- form.FormController.ngModel.NgModelController form.FormController FormController跟踪所有他所控制的和嵌套表单以及他们的状态,就像有效/无效或者脏值/原始. 每个表单指令创建一个FormController实例. 方法: $addControl(); 给表单注册一个控制器. 使用了ngModelController的输入元素会在连接时自动执行. $removeControl(); 给表单注

@野兽的Angular Api 学习、翻译及理解 - - angular.module

@野兽的 ng api 学习 -- angular.module angular.module 创建一个全局的可用于检索和注入的Angular模块.所有Angular模块(Angular核心模块或者第三方模块)想要在应用里实现,都需要使用这个注入机制. 格式:angular.module(name,[requires],[configFn]); name :  string  创建的模块名称. [requires]: 字符串的数组  代表该模块依赖的其他模块列表,如果不依赖其他模块,则为空数组.

野兽的Angular Api 学习、翻译及理解 - - ngRoute Angular自带的路由

野兽的ng api学习 -- ngRoute ngRoute $routeProvider 配置路由的时候使用. 方法: when(path,route); 在$route服务里添加一个新的路由. path:该路由的路径. route:路由映射信息. controller:字符串或函数,指定控制器. controllerAs:一个用于控制器的标识符名称.. template:字符串或函数,html模板. templateUrl:字符串或函数,html模板的地址. resolve:对象,一个可选的

野兽的Angular Api 学习、翻译及理解 - - $templateCache 和 $templateRequest

野兽的ng api学习 -- $templateCache 和 $templateRequest $templateCache 第一次使用模板,它被加载到模板缓存中,以便快速检索.你可以直接将模板标签加载到缓存中,或者通过$templateCache服务. 通过script标签: <script type=”text/ng-template” id=”template.html”> <p>This is the content of the template</p> &