我一直在阅读 Backbone.sync 和 Backbone 解析。我承认我很困惑。我有一个 BB 模型,它继承自另一个模型并将所有属性发送到页面。我想限制它发送到页面的属性,现在它正在发送数据库表中的所有内容(只需要 id、fname、lname 等)。此模型不会用于保存,仅供页面内引用。我的问题是我是否覆盖 Backbone.sync 或解析,我是在继承模型还是“ super ”模型上进行?
初始调用:
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);
}
});
实际的“ super ”模型:
TSS.Models.User = Backbone.Model.extend({
idAttribute: "Id",
urlRoot: TSS.Paths.Data + '/UsersApi'
});
最佳答案
您应该在服务器端执行此操作(在您的 User.ToJson()
函数中)并防止数据被发送到客户端 JavaScript 代码。
关于javascript - 限制服务器发送到页面的 Backbone 模型属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18596504/