我对Backbone相当新,所以我在这里的困难可能与对这些概念的根本误解有关。我的问题是,在Backbone>中存储用户设置的最佳方法是什么?这些设置有多种用途,包括确定视图应如何呈现。尝试在页面加载时请求所有这些资源似乎是浪费。部分问题是每个View对应一个模型(表示的数据),但在某些方面,所表示的数据包括用户设置的子集和另一个模型。此外,它不像每个设置(或任何设置组)都具有唯一ID,并且可以按Backbone似乎希望它们的方式表示,并且在与服务器通信时需要引用查询字符串。
也许这应该是一个非问题,但我不太清楚如何在Backbone中完成这样的事情。
答案 0 :(得分:1)
您始终可以从包含用户属性的基础模型继承模型,因此模型将包含这些信息,例如:
MyAppModel = Backbone.Model.extend({
user: {}
});
您还可以将用户对象存储在全局对象中,不,您不应在页面加载时请求它们。如果你可以将它嵌入到页面中,假设你使用带有Razor模板的ASP.NET MVC,你可以将它放在.cshtml
中:
<script type="text/javascript">
// ViewBag used just to illustrate point
window.app.myUser = @Html.Raw(Json.Encode(ViewBag.User));
</script>
然后,您可以将用户属性定义为app.myUser
。
它没有理由拥有自己的backbone.model,但它也不会造成任何问题。