创建一个模板助手来返回要在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;
}


我正在控制台进行大量日志记录,以确保返回值,并且一直返回某些内容,直到最终return语句为止,该语句将jobSupportNumber返回为undefined。让它总是返回未定义状态我在做什么错?

最佳答案

.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 - Javascript函数返回未定义的模板助手,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24249777/

10-11 19:32
查看更多