Backbone.sync と Backbone parse を読んでいます。私は混乱していることを認めます。別のモデルから継承し、すべての属性をページに送信する BB モデルがあります。ページに送信する属性を制限したいのですが、現在はデータベーステーブルからすべてを送信しています(id、fname、lnameなどのみが必要です)。このモデルは保存には使用されず、ページ内での参照のみに使用されます。私の質問は、Backbone.sync または解析をオーバーライドするか、継承モデルまたは「スーパー」モデルで行うかです。
最初の呼び出し:
TSS.Principal = new TSS.Models.User(@Html.Raw(this.User.ToJson()));
プリンシパルが使用する継承モデル:
TSS.Models.User = _.extend(TSS.Models.User, {
parse: function (response, options) {
this.set("roles", new TSS.Collections.Roles(response.Roles));
response.Roles = null;
return TSS.Models.User.parse.call(this, response, options);
}
});
実際の「スーパー」モデル:
TSS.Models.User = Backbone.Model.extend({
idAttribute: "Id",
urlRoot: TSS.Paths.Data + '/UsersApi'
});