Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.09.2014, 16:49
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от tsigel Посмотреть сообщение
Когда выводите текст в редакторе - связываейте его не с конкретным html элементом, а с текстовой нодой внутри него.
непонятно

я так рассуждаю - элементы на экране это массив, нумерованый список и данные для отображения это массив
доступ к ним по одинаковому порядковому номеру в списке-массиве

но после добавления удаления элементов на экране исчезает соответствие порядковых номеров
Ответить с цитированием
  #12 (permalink)  
Старый 01.09.2014, 16:51
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Должна быть синхронизация. Вы же знаете какой элемент был удален - удаляете элемент массива
Ответить с цитированием
  #13 (permalink)  
Старый 01.09.2014, 16:53
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

если проблема в том чтобы по удаленному элементу найти связь с элементом массива - можете при создании добавлять ему атрибут номера. Что-то типа data-index="someIndex"
Ответить с цитированием
  #14 (permalink)  
Старый 01.09.2014, 17:04
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

товарищи как эта штуковина называется?
классика же
наверняка есть паттерн или шаблон для работы со списками - с динамическим добавлением удалением элементов

Последний раз редактировалось nverv, 01.09.2014 в 17:07.
Ответить с цитированием
  #15 (permalink)  
Старый 01.09.2014, 17:06
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от tsigel Посмотреть сообщение
если проблема в том чтобы по удаленному элементу найти связь с элементом массива - можете при создании добавлять ему атрибут номера. Что-то типа data-index="someIndex"
про data- первым делом и подумал но пока не придумал как его использовать

нужна помощь зала
Ответить с цитированием
  #16 (permalink)  
Старый 01.09.2014, 17:11
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Вообще обычно никто не парится с прямым управлением домом. Есть шаблонизаторы, которые решают все эти проблемы. Шаблонизаторы бывают как простые (которые полностью передергивают дом), так и покруче (которые запоминают связи данных и конретной текстовой ноды). Выбор их зависит от задачи и необходимости оптимизаций.
Ответить с цитированием
  #17 (permalink)  
Старый 01.09.2014, 17:14
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

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

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

Последний раз редактировалось nverv, 01.09.2014 в 17:17.
Ответить с цитированием
  #18 (permalink)  
Старый 01.09.2014, 17:21
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Хороший шаблонизатор (особенно такой как вы хотите с частичным обновлением) - это не паттерн, а много-много ООП кода.
Ответить с цитированием
  #19 (permalink)  
Старый 01.09.2014, 17:54
Аватар для nverv
Аспирант
Отправить личное сообщение для nverv Посмотреть профиль Найти все сообщения от nverv
 
Регистрация: 26.06.2014
Сообщений: 70

Сообщение от tsigel Посмотреть сообщение
Вообще обычно никто не парится с прямым управлением домом. Есть шаблонизаторы, которые решают все эти проблемы. Шаблонизаторы бывают как простые (которые полностью передергивают дом), так и покруче (которые запоминают связи данных и конретной текстовой ноды). Выбор их зависит от задачи и необходимости оптимизаций.
а почему это называется шаблонизатор
Ответить с цитированием
  #20 (permalink)  
Старый 01.09.2014, 17:57
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Потому что вам дужно выводить данные в определенном формате (шаблоне)

Например шаблон модального окна с использованием шаблонизатора underscore может выглядеть так:

<div>
   <div class="title"><%= title %></div>
   <div class="content"><%= content %></div>
   <div class="buttns">
       <% for (var i = 0; i < buttons.length; i++) { %>
            <button><%= button[i].text %></button>
       <% } %>
   </div>
</div>


Хочу получить верстку модального окна с 2 кнопками, заголовком и контентом:

_.template(modalTpl)({
      title: "Заголовок",
      content: "Контент",
      buttons: [{text: "Да"}, {text: "Нет"}]
   });


Таким образом мы уменьшаем в коде прямую работу с домом. Это удобно, особенно когда есть много похожих операций.

Последний раз редактировалось tsigel, 01.09.2014 в 18:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP. Файлы инициализации, и зачем нужно множество файлов для подключение к БД? Brook Серверные языки и технологии 2 04.12.2013 10:31
Cookie для меню аккордион и для div Lastedl jQuery 1 03.12.2013 04:55
Удалению метаданных в JPEG lorents Библиотеки/Тулкиты/Фреймворки 2 22.04.2012 21:02
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45