在Backbone中存储用户设置

时间:2013-06-27 22:10:58

标签: javascript rest model-view-controller backbone.js

我对Backbone相当新,所以我在这里的困难可能与对这些概念的根本误解有关。我的问题是,在Backbone>中存储用户设置的最佳方法是什么?这些设置有多种用途,包括确定视图应如何呈现。尝试在页面加载时请求所有这些资源似乎是浪费。部分问题是每个View对应一个模型(表示的数据),但在某些方面,所表示的数据包括用户设置的子集和另一个模型。此外,它不像每个设置(或任何设置组)都具有唯一ID,并且可以按Backbone似乎希望它们的方式表示,并且在与服务器通信时需要引用查询字符串。

也许这应该是一个非问题,但我不太清楚如何在Backbone中完成这样的事情。

1 个答案:

答案 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,但它也不会造成任何问题。