我认为这更像是一个 javascript 问题而不是 Angular 问题,但上下文是 Angular 问题,所以将其保留在那里。基本上我正在尝试调用 doSomething
方法。看起来 lodash 的 ._forEach
正在创建自己的作用域,所以我无法使用 this
访问 var service
,因为它引用了循环这里。
那么,对于我来说,从下面代码(forEach
内)的位置调用 doSomething
的最佳方式是什么?
'use strict';
angular.module('app').service('fooService', function()
{
var service = {
barMethod: function(arrayOfObjects){
//this.doSomething(); - this works if not commented out,
//but I need it from within loop
_.forEach(arrayOfObjects, function (ob) {
this.doSomething();
});
},
doSomething: function(){
//do something
},
};
return service;
});
最佳答案
试试这个
var service = {
barMethod: function(arrayOfObjects){
var self = this
_.forEach(arrayOfObjects, function (ob) {
self.doSomething();
});
},
doSomething: function(){
//do something
},
};
关于javascript - 从 ForEach 循环访问父对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445411/