从render()内部的Backbone +调用函数是抛出未捕获的引用错误

时间:2013-10-18 17:32:11

标签: backbone.js render

我是backbone.js的新手。我正在尝试调用一个函数,该函数使用来自webapi的数据加载模板。

var BrowseNavListView = Backbone.View.extend({     el:$(“#tocDrawerNav”),

initialize: function () {
    debugger;
    $("#hfReferenceId").val($("#hfChannelId").val());
    _.bindAll(this, 'rendersCollectively', 'RenderFocusAreaBladeContent');
    this.render();
},
render: function () {
    debugger;
    var that = this;
    var navigator = new Navigators();
    navigator.fetch({
        success: function (navigatorList) {
            debugger;
            if (navigatorList.length > 0) {
                **RenderFocusAreaBladeContent(navigatorList);**
            }
        },
        error: function (x) {
            debugger;
            alert(x);
        }
    })
},

RenderFocusAreaBladeContent: function (navigatorList) {
    debugger;
    divIterator = divIterator.split('_')[divIterator.split('_').length - 2] + "_"
        + (parseInt(divIterator.split('_')[divIterator.split('_').length - 1]) + parseInt(1)).toString();

    var template = '<div class="tocColumn " id="' + divIterator + '"><label>US Channel</label>';
    var navigatorListmodel = navigatorList.toJSON();
    var content = Loadtemplates("browsetemplate");
    var browsetemplate = Handlebars.compile(content);
    template += browsetemplate({ navigatorList: navigatorListmodel });
    $("#tocDrawerNav").append(template);
    $('.view').unbind('click');

    $('.view').click(function (n) {

        divIteratorBlade = "divIteratorBlade_1";
        $("#tocColumns").empty();
        $("#hfReferenceId").val("SUB" + n.currentTarget.id);

        var browseNested = new BrowseListViewBlade();
        browseNested.render(n);
    });
}

});

在render中调用RenderFocusAreaBladeContent()时,我得到了未被捕获的引用错误

1 个答案:

答案 0 :(得分:5)

不应该是

that.RenderFocusAreaBladeContent(navigatorList);