1

モデルの保存メソッドをオーバーライドして、エラー コールバックを設定しようとしています。localStorage とサーバー側のデータを組み合わせて使用​​しているため、アプリがサーバーに接続できない場合は、モデルをローカル ストレージに保存したいと考えています。ここに私のモデルコードがあります:

var Project = Backbone.Model.extend({
        urlRoot: Settings.urls.projects.project,

        save: function(attributes, options){
            options || (options = {});

            this.set("last_updated", new Date().toISOString(), {silent: true});

            options.error = function(){
                console.log("Error callback");
            }

            return this.constructor.__super__.save.apply(this, arguments);
        },

ご覧のとおり、save メソッド内で options.error を設定してから、super メソッドを呼び出して実際に保存を実行しようとしています。何らかの理由で関数が無視され、コンソール ログ ステートメントが呼び出されません。誰にもアイデアはありますか?

4

1 に答える 1

1

このリファレンスを確認してください: http://backbonejs.org/#Model-extend

次のようなことをする必要があります:

return Backbone.Model.prototype.save.call(this, attributes, options);
于 2012-08-27T00:53:38.477 に答える