2

私のアプリはバックボーンを使用して構築されています。モデルで destroy() を使用しようとすると問題が発生します。これは、クロムで取得するエラー スタックです。

Uncaught TypeError: Cannot call method 'remove' of undefined backbone-min.js:34
f.extend.remove backbone-min.js:34
g.Events.trigger backbone-min.js:9
f.extend.destroy.d backbone-min.js:14
f.extend.destroy backbone-min.js:14
Backbone.Model.extend.remove ticketModel.js:21
Backbone.View.extend.deleteTicket ticketListView.js:44
b.each.b.forEach underscore-min.js:11
Backbone.View.extend.deleteTicketTickets ticketListView.js:49
f.event.dispatch jquery-1.7.2.min.js:3
f.event.add.h.handle.i

これが何であるか考えていますか?

エラーの原因となったコードは文字通り次のとおりです。

model.destroy();

console.log(model)model には、必要に応じてオブジェクトをコンソールに記録するため、確かにモデルが含まれています。

モデル定義は次のとおりです。

define([
    'apiEndpoint'
    ],function(apiEndpoint) {
    var TicketModel = Backbone.Model.extend({
        url: apiEndpoint.url,

        isTicket : function(){
            return ( this.type === 'ticket') ? true : false;
        },

        isTask : function(){
            return ( this.type === 'task') ? true : false;
        },

        //Tells you if the view is selected for bulk actions
        defaults : {
            isSelected: false
        },

        remove : function(){
            this.destroy({success: function(){
                console.log('success');
            }});
        }

    });
    return TicketModel;
});
4

1 に答える 1

0

あなたの見解では、なぜあなたは電話をしているのmodel.destroy();ですか?model.remove();破棄するカスタムメソッドであるため、呼び出す必要があると思います。

model.destroy()ビューで呼び出しているように見えますがmodel.remove、モデルを既に破棄しているため、未定義オブジェクトの削除メソッドを呼び出そうとしています。

于 2012-07-27T13:23:57.723 に答える