2013-06-27 3 views
0

Я довольно новичок в Backbone, поэтому мое затруднение здесь может быть связано с фундаментальным непониманием понятий. Мой вопрос в том, что лучший способ сохранить пользовательские настройки в Backbone> Установки имеют множество применений, включая определение того, как визуализировать представления. Кажется, что отходы пытаются запросить все эти ресурсы при загрузке страницы. Отчасти проблема заключается в том, что каждый вид соответствует модели (представляемые данные), но в некоторых отношениях представленные данные включают в себя подмножество пользовательских настроек и другую модель. Кроме того, это не похоже на то, что каждый параметр (или любая группа настроек) имеет уникальный идентификатор и может быть представлен в том виде, который, по-видимому, требует их Backbone, и будет нуждаться в строках запросов, на которые будет ссылаться при общении с сервером.Сохранение пользовательских настроек в магистрали

Возможно, это действительно не проблема, но я не могу понять, как выполнить что-то подобное в Backbone.

ответ

1

Вы всегда могли наследовать ваши модели от базовой модели, которая содержит атрибут пользователя, поэтому модели будут иметь эту информацию с них, такими как:

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

Вы также можете сохранить пользовательский объект в глобальном объекте , и нет, вы не должны запрашивать их при загрузке страницы. Если вы можете вставить его на страницу, что вы были с помощью ASP.NET MVC с Razor шаблонам, вы могли бы иметь это внутри .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

Смежные вопросы