Javascript 无法使用下划线JS的每个函数传递额外参数
我试图将另一个名为modelObj的对象传递给下划线的uj.每个函数,因为我没有在循环中获取上下文 我的代码是这样的Javascript 无法使用下划线JS的每个函数传递额外参数,javascript,underscore.js,lodash,Javascript,Underscore.js,Lodash,我试图将另一个名为modelObj的对象传递给下划线的uj.每个函数,因为我没有在循环中获取上下文 我的代码是这样的 showHideBudget: function(contentObj, modelObj){ _.each(contentObj.find('.budgetSec'), function(item){ // ===> Unable to reference modelObj here <=== budgetFlag = tru
showHideBudget: function(contentObj, modelObj){
_.each(contentObj.find('.budgetSec'), function(item){
// ===> Unable to reference modelObj here <===
budgetFlag = true;
return;
}, modelObj)
})
这样试试吧。您应该将对象传递给u.each
根据我的理解,第三个参数是iteratee函数中绑定的参数。您应该能够通过为contentObj.find'budgetSec的结果的每个元素调用的这个函数获得对modelObj的引用
引用:它是否告诉您它未定义?是的,它告诉您…您是否将modelObj作为上下文传递给每个?括号没有match@barbsan我的错。这是一个输入错误,现已更正。您是否尝试过访问modelObj而不将其作为上下文传递?你确定modelObj之前定义了吗?每个调用都定义了吗?我也尝试了这种方法更新了我的帖子,但运气不好。@DavidR。。。另外,用我的答案更新你的问题会让人觉得我复制了你在问题中发布的内容,下次请用编辑更新OP:Oops!。很抱歉。将确保继续:-我尝试了你的小提琴中给出的方法,只有局部作用域变量是通过这种方式传递的,函数参数不是@大卫博士:你能改变你定义函数的方式吗?我没有投反对票。尝试使用它,它显示了除my ModelObjd之外的所有已定义函数和全局变量。这篇文章对您有帮助吗?接得好。然而,只有局部作用域变量以这种方式传递,函数参数则不是!。奇怪的这很奇怪。。。那就把这些信息带到任何地方去吧,还是说它有点不对劲?至少找到了哪里出了问题,看来我需要把它和modelObj一起传递,我会相应地更新帖子的。谢谢
showHideBudget: function(contentObj, modelObj){
_.each(contentObj.find('.budgetSec'), function(item){
// ===> Unable to reference modelObj here <===
budgetFlag = true;
return;
}, modelObj, this)
})
showHideBudget: function(contentObj, modelObj){
_.each(contentObj.find('.budgetSec'), function(item){
budgetFlag = true;
return;
}, modelObj);
}