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

プログラムの制御フローを確認してみましたが、エラーは次の行を指しているようで、エラー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 に答える