-1

次のようにデフォルトを設定するモデルがあります。

var CampModel = Backbone.Model.extend({
    defaults: {
        siteID: $.jStorage.get('currentSiteID'),
        active: -1,
        pending: -1,
    },
    url: function () {
        //some url.
    },
    sync: function (method, model, options) {
        var method = 'read';

        var that = this,
        options = options || {};

     options.success = function(model, response, options){
       if(response.errorMessage != "Session is over")
        console.log('Update session');
    if(response.success)
        if(response.returnValue.length){
            that.set('response', response.returnValue);
            that.CountActiveAndPending(response.returnValue);
        }
        else {
            that.set('response', []);
        }
        else console.log('report: bad request, error: '+ response.errorMessage);
    }
    Backbone.sync(method, model, options);
},
    },
    //Counts active and pending campaigns for front page.
    CountActiveAndPending: function (data) {
        var active = 0;
        var pending = 0;
        //var it = this;
        $.each(data, function (index, val) {
            if (val.ApprovedOnSite) active++;
            else pending++;

        });
        this.set('active', active);
        this.set('pending', pending);
    }
});

別のモデルでは、次のようにモデルのパラメーターを取得しようとします。

 this.set({
            campModel: new CampModel(),
            })
          });
            this.get('campModel').save();

           console.log(this.get('campModel').get('active'));

        },

すべてが正常に動作しているように見えますが、CampModel から「アクティブな」パラメータを取得しようとすると、モデルで割り当てられた値ではなく、-1 のデフォルト値が取得されます。なぜこれが起こるのかについて何か考えはありますか?

4

1 に答える 1