javascript上下文问题 - 参数未定义

时间:2013-08-19 14:10:27

标签: javascript backbone.js

我有这段代码:

targetMu: function(programmeCode, muId) {

//Parameter values are fine here

  targetMuController.targetMuView.on("targetMu:afterRender", function(programmeCode, muId) {       
        this.renderCustomWidgets(muId, programmeCode);
  });
}

this.renderCustomWidgets(muId, programmeCode)被解雇时,programmeCode& muId未定义,为什么?

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

尝试从匿名函数中删除参数:

targetMu: function(programmeCode, muId) {
    targetMuController.targetMuView.on("targetMu:afterRender", function() {       
        this.renderCustomWidgets(muId, programmeCode);
    });
}

答案 1 :(得分:1)

, function(programmeCode, muId) {

您刚刚在回调函数中声明了具有相同名称的新参数。

在回调中,这些名称引用内部参数 - 传递给回调的任何内容。