未捕获的TypeError:使用骨干创建子视图时,undefined不是函数

时间:2013-02-06 06:57:05

标签: javascript jquery backbone.js backbone-views

我正在创建一个从主视图渲染的子视图 - FindRideView。

renderRide: function (item) {
        var RideView = new RideView({model: item}); // here
    this.$el.append(RideView.render().el);
    }

然而,当我渲染视图时,我得到一个Uncaught TypeError: undefined is not a function //here

我的应用结构是

 var RideView = Backbone.View.extend({});
 var FindRideView = Backbone.View.extend({
    renderRide:
    });

我检查了RideView是否有任何错误。但是当它没有从FindRideView调用时它的工作完全正常。我想可能存在一些范围问题,但我不确定。 会感激一些帮助。

1 个答案:

答案 0 :(得分:0)

尝试在函数外部定义“RideView”。有关范围示例,请参阅此内容:

http://jsfiddle.net/54DRC/3/

var mynum;
mynum = 1;
function DontSetMyNum() {
    var mynum;
    mynum = 2;
}
function SetMyNum() {
    mynum = 3;
}
$(function() {
    $("body").append("<p>Initial = " + mynum + "</p>");
    DontSetMyNum();
    $("body").append("<p>After DontSetMyNum call = " + mynum + "</p>");
    SetMyNum();
    $("body").append("<p>After SetMyNum call = " + mynum + "</p>");
});