骨干中的文件呈现问题

时间:2013-03-17 15:21:43

标签: django backbone.js django-rest-framework

我正在尝试使用backbone和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);
    }
}
});

我尝试检查程序的控制流程,看起来错误点在第success: function(book){行,并且似乎没有错误。请帮忙,因为我对骨干很新,并在每个角落寻求帮助。

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

1 个答案:

答案 0 :(得分:1)

您正在调用获取结果作为函数。

更改行:

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);
    }
});