Backbone JS 模型获取不自动更新属性

Backbone JS model fetch not updating attributes automatically

我正在创建一个模型来获取用户配置文件数据然后使用它,但问题是每次它获取数据(成功响应文本 JSON 可用)时模型都没有更新。所以我必须手动设置它。这是我的代码:

UserTest = Backbone.Model.extend({
  defaults: {
    userid: null,
    full_name: null,
    photo: null,
    sec_access: null
  },
  urlRoot: 'data/userprofile.php',
  parse: function (response) {
    if (response.photo == null || response.photo == '') response.photo ='images/default-usericon.png';
  }
});

var usertest = new UserTest;
usertest.fetch().then(function(user){
   usertest.set('userid',user.userid);
   usertest.set('full_name',user.full_name);
   usertest.set('photo',user.photo);
   usertest.set('sec_access',user.sec_access);
   console.log(usertest.get('userid'));
});

有没有更好的方法?还是我做错了?

您需要 return 来自 parse 的数据:

parse: function (response) {
  if (response.photo == null || response.photo == ''){
    response.photo ='images/default-usericon.png';
  }
  return response; // This is very important
}