限制主干服务器发送到页面的模型属性?

时间:2013-09-03 15:50:46

标签: javascript jquery json backbone.js

我一直在阅读Backbone.sync和Backbone解析。我承认我很困惑。我有一个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'
});

1 个答案:

答案 0 :(得分:1)

您应该使用此服务器端(在User.ToJson()函数中)并防止数据被发送到客户端JavaScript代码。