2013-06-27 36 views
0

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

也许这应该是一个非问题,但我不能完全看到如何在Backbone中完成这样的事情。

回答

1

你总是可以继承其包含用户属性的基础模型的车型,所以车型将与他们的信息,如:

MyAppModel = Backbone.Model.extend({ 
    user: {} 
}); 

您还可以将用户对象在全局对象,不,你不应该在页面加载时请求它们。如果你可以将其嵌入到网页中,说你使用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,但它也不会导致任何问题。

+0

我真正指的是如果你有很多设置,但是很少有(如果有的话)立即需要(甚至在一个给定的会话中甚至是需要的)。你不应该在开始时加载它们。相反,您应该在需要时使用AJAX。但是,我并不完全理解Backbone如何实现这一点。 –

+0

你能说说你的意思吗?我不明白你面临什么问题。 – damienc88