И последнее, где рендерить. Варианты: сделать запрос к бд или получить конфиг из массива и отпостить его в браузер json'ом - по полученным данным все нарисовать. Или нарисовать на сервере со всеми атрибутами и выдать в браузер.
Разница в том что создав элемент вы сразу получаете его как таковой. Его не надо искать и проверять есть или нету такого в доме. Не надо думать про id и кучу атрибутов не надо поднимать. Созданные элементы втыкаются в тот же полученный из json объект и автоматически связываются со связанными данными. Теперь все что вам нужно от созданного элемента - его value, или там индекс, чтобы взять нужные значения из нормального ассоциативного массива или как на js - объекта. Следовательно у вас всегда нормализованные данные, а рендер может быть любым. Сегодня это select options - нажали кнопку в браузере - получились ul li.
Все шиколадно за исключением собственно геморроя с рендером в js. Во-первых туда все равно надо положить html, иначе будет чудесатая иерархия профтыкания дерева - html это же иерархическая структура. Если описывать хтмл на месте, задолбают непонятные интерпретатору переносы в скалярх. Либо придется писать все в одну строку - типа вручную минимизировать, либо дробить строку на куски с конкатенацией.
Отсюда начинается мощное отклонение. Начав рендерить в js вы начинаете качать библиотеки для рендера, шаблонизаторы, задумываться о Shadow DOM и прочей нечисти.
То есть нихера не проще если серьезно подходить, те же яйца вид сбоку.
|