Backbone Model isNew === true,即使已分配ID

时间:2012-07-20 20:41:14

标签: backbone.js

我有一个Backbone模型:

var User = Backbone.Model.extend({
  idAttribute: '_id',

  url: '/api/user',

  defaults:
    { username: ''
    },

  initialize: function () {
    console.log(this, this.isNew());
  }
});

然后我初始化模型并获取实例:

var user = new User();

user.fetch();

这很有效。如果我检查user,则会有id属性。它存在于服务器上。但是,出于某种原因,user.isNew()报告为真 - 即使它具有id属性集(属性和属性)。我需要在服务器上更新此模型,但Backbone坚持发送POST请求,当我需要PUT时...

1 个答案:

答案 0 :(得分:1)

在获取完成之前初始化运行。 isNew值将更改,直到服务器答案到达。侦听模型上的change事件或将回调传递给fetch调用。

var user = new User();

user.fetch({success : function(){
  console.log( user.isNew() );
}});