我有一个骨干模型,它混合了单个属性,其他模型和集合。
要在父模型场景中创建此模型和集合,我的模型代码如下所示
App.Models.Project = Backbone.Model.extend({
urlRoot: "http://" + App.API_ROOT + "/project",
defaults: {
visible: true
},
initialize: function() {
var clients = this.get('clients');
var pm = this.get('projectmanager');
this.set('project_manager', new App.Models.User(pm));
var sp = this.get('salesperson');
this.set('sales_person', new App.Models.User(sp));
this.set('clients', new App.Models.Client(clients));
this.set('status_text', this.getStatusText(this.get('status')));
},
getStatusText: function(status) {
switch(status) {
case "0":
return 'Archived';
break;
case "1":
return 'Pending';
break;
case "2":
return 'Active';
break;
case "3":
return 'Complete';
break;
}
}
});
然而,偶尔会返回一个模型,其中客户端属性尚未设置为模型,但仍保留为对象,为什么会这样?有没有更好的方法来实现我的目标?父模型中的模型和集合?