Angularjs 使用上下文访问嵌套角度foreach循环中的变量
我仍然是Angular和Javascript的新手,四处寻找解决方案,但很难找到一个,所以请耐心听我说。我有一个角度函数,看起来像这样:Angularjs 使用上下文访问嵌套角度foreach循环中的变量,angularjs,Angularjs,我仍然是Angular和Javascript的新手,四处寻找解决方案,但很难找到一个,所以请耐心听我说。我有一个角度函数,看起来像这样: post: function(url, params) { var someObject = { 'key': ['value1', 'value2'] } for (var paramKey in params) { angular.forEach(someObject, function (values, key) {
post: function(url, params) {
var someObject = {
'key': ['value1', 'value2']
}
for (var paramKey in params) {
angular.forEach(someObject, function (values, key) {
if (paramKey.indexOf(key) !== -1) {
debugger; // params is still defined here
angular.forEach(values, function (innerValue) {
if (paramKey.indexOf(innerValue) !== -1) {
debugger; // params is no longer defined
}
}, params)
}
}, params)
}
我希望遍历一些键和值,并根据在内部循环中找到的内容,在将params
对象发送到API之前对其进行操作
查看,我可以使用context
参数在forEach中传递对象并将其保持在范围内。但是,我使用的是嵌套循环,出于某种原因,我似乎无法通过context
将params
传递到嵌套循环中。它第二次变成未定义的
如何访问和操作内部循环中的
params
对象?嵌套循环总是最好避免的,因此我想,如果您只是检查对象的键,然后检查键是否与任何数组字符串匹配,那么为什么还需要编写脚本呢。您可以这样做:
post: (url, params) => {
var someObject = {
'key': ['value1', 'value2']
}
Object.values(params).forEach((paramKey) => {
if(someObject[paramKey]) {
if(someObject[paramKey].includes(paramKey)) {
}
}
})
}