主干错误,Object[Object global]没有方法.



在下面的代码中,导航器向我抛出了一个错误,我正在使用backbone.js和require.js从视图加载书籍,这是我的代码:

BookListView.js

define([
    'jquery',
    'underscore',
    'backbone',
    'collections/bookCollection',
    'views/bookView'
], function ($, _, Backbone, bookCollection, bookView) {
    var books = [{ ... }];
    var BookListView = Backbone.View.extend({
        el: $('#books'),
        initialize: function () {
            _.bindAll(this, 'render', 'renderBook');
            this.collection = new bookCollection(books);
            this.render();
        },
        render: function () {
            _.each(this.collection.models, function (item) {
                this.renderBook(item);
            });
        },
        renderBook: function (item) {
            var BookView = new bookView({
                model: item
            });
            this.$el.append(BookView.render().el);
        }
    });
    return BookListView;
});

控制台返回错误:Object[Object global]没有方法"renderBook"

你能帮我吗?

尝试为每个调用添加显式上下文:

_.each(this.collection.models, function (item) {
    this.renderBook(item);
}, this);

最新更新