我正在尝试使用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){
行,并且似乎没有错误。请帮忙,因为我对骨干很新,并在每个角落寻求帮助。
修改:问题已解决,因此删除了不相关的代码。
答案 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);
}
});