#javascript #backbone.js
#javascript #backbone.js
Вопрос:
У меня есть веб-приложение, которое я хочу использовать Backbone.js для. У меня есть список общих «элементов», которые не будут редактироваться пользователем напрямую. По сути, это будет выглядеть как меню для выбора в левой части экрана. Когда пользователь выбирает элемент, будет сгенерирован «экземпляр элемента», который он будет настраивать.
Мне просто интересно, должен ли этот статический список элементов / шаблонов обрабатываться Backbone.js или если это должно быть просто жестко запрограммировано. Ценность использования Магистральной коллекции / Моделей для списка заключается в том, что каждый элемент будет иметь другую Магистраль.Свойство модели, которое будет создано при выборе этого элемента из списка. например, элемент HTMLImageChoice, когда он выбран, приведет к созданию экземпляра HTMLImage.
У меня возникли проблемы с поиском простых примеров Backbone.js которые не очень надуманны.
Комментарии:
1. Мне кажется, вы хотите представить эти пункты меню как Backbone.collection. Можете ли вы предоставить немного больше информации о том, что содержится в элементах, и какие настройки вы с ними делаете, чтобы мы могли издеваться над этим?
2. Это что-то вроде меню … это графический / WYSIWYG конструктор веб-сайтов, а меню представляет собой список HTML-элементов. Когда я выбираю один из них в меню, важен его тип, и этот тип определит, какая магистраль. Модель, которую я создаю, и разрешаю пользователю настраивать. Единственная причина, по которой казалось разумным использовать коллекцию / модель здесь, заключается в том, что я подумал, что это может быть более естественным, чем жестко кодировать 30 элементов, а затем выполнять сравнение строк, чтобы определить, какую модель создавать.
3. Чтобы расширить это, я предназначил для каждого элемента HTML элемент, который пользователь выбирает в качестве модели. Одним свойством каждой модели был бы класс экземпляра для создания экземпляра. Например. когда пользователь выбирает пункт меню, я бы сделал «new MenuItem.get(‘classstoinstantiate’)» при создании его экземпляра.
Ответ №1:
Коллекции в backbone — это коллекции моделей. Похоже, вы просто говорите о жестко закодированном массиве строк, которые совершенно не являются моделью. Возможно, вы хотели бы отключить этот массив от модели в качестве свойства, но это настолько близко к backbone, насколько это возможно.