创建一个模板助手来返回一个要在 DOM 中显示的变量,而我的函数返回未定义,因此不会影响 DOM。不太清楚为什么,尽管我觉得这是一个具有约束力的问题。代码如下:
supportNumber: function(){
var jobSupportNumber = state.user.jobs.each(function(job){
console.log(jobOrder.get("jobId"));
console.log("test");
console.log(job.get("id"));
if(jobOrder.get("jobId") == job.get("id")){
var jobNumber = job.get("supportNumber");
console.log(jobNumber);
return jobNumber;
}
else{
console.log("this fired");
}
});
console.log(jobSupportNumber);
return jobSupportNumber;
}
我在控制台进行大量记录,以确保返回值,并且一直返回某些内容,直到最终的返回语句,该语句将 jobSupportNumber 返回为未定义。我做错了什么让它总是返回为未定义?
最佳答案
.each()
不返回它所包装的任何函数的值。内部函数结果仅用于控制.each()
循环。
试试这个:
supportNumber: function(){
var jobSupportNumber = null;
state.user.jobs.each(function(job){
if(jobOrder.get("jobId") == job.get("id")){
jobSupportNumber = job.get("supportNumber");
return false; // tell .each() to quit looping
}
});
return jobSupportNumber;
}
关于Javascript 函数为模板助手返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24249777/