Подтвердить что ты не робот

Модели Backbone.js не в коллекции

Будучи новым для Backbone.js, просто хотел прояснить правильный способ решения этой простой задачи.

Разработка веб-приложения, почти всегда, будет иметь учетные записи пользователей, в которых пользователи могут войти в ваше приложение и просмотреть свои персонализированные данные. Как правило, на их странице могут отображаться некоторые виджеты, их пользовательская информация (имя, аватар и т.д.).

Теперь создание модели для виджета и объединение их в коллекцию - это простая концепция. Однако будет ли их информация о пользователе храниться в особой модели, которая не будет отделена от коллекции?

Если да, то как это связано с остальной частью приложения? Простите мое невежество, но мне еще не удалось найти примеры, которые не объясняют Модели, не использующие их в Коллекциях (Пользователь и Пользователи, Собака, Кошка и Животные и т.д.).

В любом случае, извините за длительное объяснение. Я бы искал любые ресурсы, чтобы заставить меня начать делать приложение реального мира, а не приложение ToDo (что отлично подходит для понимания базового понятия).

4b9b3361

Ответ 1

Нет никаких причин чувствовать себя вынужденными объявлять Collection для каждого Model вашего приложения. Очень часто встречаются модели без коллекции.

// code simplified and not tested
App.CurrentUser = Backbone.Model.extend({
  url: "http://myapp.com/session.json"
});

App.CurrentUserView = Backbone.View.extend({
  el: "#user-info",

  render: function(){
    this.$el.html( "<h1>" + this.model.get( "name" ) + "</h1>" );
  }
});

var currentUser = new App.CurrentUser();
currentUser.fetch();

var currentUserView = new App.CurrentUserView()({ model: currentUser });
currentUserView.render();

Ответ 2

Если вы хотите модель/представление без коллекции, не пишите коллекцию или коллекцию.

Добавьте представление так же, как вы обычно видите добавленный вид, основанный на коллекции.