1

我正在尝试使用骨干网和 Django Rest Framework 制作应用程序,并且在渲染模板时遇到了这个问题。我收到以下错误:

Uncaught TypeError: object is not a function

骨干

var EditBook = Backbone.View.extend({
el:'.page',
render: function (options) {
    var that = this;
    if(options.id) {
        var book = new Book({id: options.id});
        book.fetch()({
            success: function(book) {

                var template = _.template($('#edit-book-template').html(), {book: null});
                that.$el.html(template);
            }
        })
    } else {
        var template = _.template($('#edit-book-template').html(), {book: null});
        this.$el.html(template);
    }
}
});

我尝试检查程序的控制流,它看起来像 line: 处的错误点,success: function(book){而且似乎没有错误。请提供帮助,因为我对骨干很陌生,并且在每个角落都寻求帮助。

编辑:问题已解决,因此删除了不相关的代码。

4

1 回答 1

1

您正在调用 fetch result 作为函数。

换行:

book.fetch()({
    success: function(book) {
        var template = _.template($('#edit-book-template').html(), {book: null});
        that.$el.html(template);
    }
})

到:

book.fetch({
    success: function(book) {
        var template = _.template($('#edit-book-template').html(), {book: null});
        that.$el.html(template);
    }
});
于 2013-03-17T16:19:50.117 回答