Будь-які пропозиції щодо того, яка бібліотека шаблонів HTML буде добре поєднуватися з JQuery? Гуглиння виявляє чималу кількість бібліотек, але я не впевнений, чи існує відома бібліотека, яка витримає випробування часом.
Будь-які пропозиції щодо того, яка бібліотека шаблонів HTML буде добре поєднуватися з JQuery? Гуглиння виявляє чималу кількість бібліотек, але я не впевнений, чи існує відома бібліотека, яка витримає випробування часом.
Відповіді:
Ну, чесно кажучи, на сьогодні клієнтські шаблони дуже гарячі, але цілі джунглі.
я вважаю, що найпопулярнішими є:
є багато інших, але ви повинні протестувати їх, щоб побачити, що вам підходить, і ваш стиль проекту найкращий.
Особисто мені важко додати новий синтаксис та набір логіки ( змішування логіки та шаблону, привіт ?? ), і я пішов чистим js. Кожен мій шаблон зберігається у власному файлі html (./usersTable.row.html). Я використовую шаблони лише під час переміщення вмісту, і у мене мало логічних файлів js, один для таблиць, один для div, один для списків. і навіть не один для опцій select (де я використовую інший метод).
Кожного разу, коли я намагався зробити щось більш складне, я виявляв, що код був менш зрозумілим і забирав у мене більше часу на стабілізацію, ніж робив це «по-старому». На мою думку, логіка в шаблоні є абсолютно нерозумною, і додавання власного синтаксису додає лише дуже важкі для відстеження помилки.
механізм шаблонів для JavaScript.
Плагін до jQuery ...
Особливості:
- 100% у JavaScript
- попередній компілятор
- Підтримка JSON
- Робота з Ajax
- Дозволити використовувати код JavaScript усередині шаблону
- Дозволити створювати каскадні шаблони
- Дозволити визначати параметри в шаблонах
- Оновлення в прямому ефірі! - автоматичне оновлення вмісту з сервера ...
Існує розумне обговорення документ на цю тему тут , яка охоплює широкий спектр шаблонизатор. Однак не специфічно для jQuery.
Плагін jQuery Templates, створений Microsoft і прийнятий як офіційний плагін jQuery.
Але зверніть увагу, що зараз він застарів.
Я б перевірив json2html , він відмовляється від того, щоб писати фрагменти HTML, і замість цього покладається на JSON-перетворення для перетворення масивів об’єктів JSON у неструктуровані списки. Дуже швидко і використовує створення DOM.
Кілька років тому я побудував IBDOM: http://ibdom.sf.net/ | Станом на грудень 2009 року він підтримує прив'язку jQuery, якщо ви отримуєте її прямо з багажника.
$("#foo").injectWith(collectionOfJavaScriptObjects);
або
$("#foo").injectWith(simpleJavaScriptObject);
Крім того, тепер ви можете розміщувати всі маркери "data: propName" в атрибутах class = "data: propName othernames names", тому вам не доведеться смітити вміст програми цими маркерами.
Я ще не оновив купу документації, щоб відобразити мої нещодавні вдосконалення, але я маю різні версії цього фреймворку у виробництві з 2007 року.
Скептикам цього питання:
Коли Microsoft винайшла за допомогою IE5 те, що ми зараз знаємо як XmlHttpRequest та шаблон "ajax", частиною обіцянки було суто обмін даними між веб-браузером та сервером. Ці дані мали бути інкапсульовані в XML, оскільки в 1999/2000 рр. XML був просто таким дуже гарячим. Окрім отримання документа xml через мережу за допомогою механізму зворотного виклику, компонент MSXML ActiveX від MS також підтримував попередню реалізацію того, що ми зараз знаємо як XSL-T та XPath.
Поєднання отримання HTTP / XML, XPath та XSL-T дозволило розробникам приголомшити творчість для створення багатих "документів", які поводилися як "програми", суто надсилаючи та, що більш важливо, отримуючи дані з сервера.
Чому це корисний шаблон? Це залежить від того, наскільки складним є ваш користувальницький інтерфейс, і наскільки ви дбаєте про його ремонтопридатність.
При побудові візуально дуже насиченого семантично розміченого інтерфейсу з вдосконаленим CSS, останнє, що ви хочете зробити, - це розділити фрагменти розмітки на "міні-контролер / подання", лише щоб ви могли .innerHTML фрагмент документа в основний документа, і ось чому.
Одним із ключових принципів підтримки вдосконаленого користувальницького інтерфейсу html / css є збереження його перевірки принаймні протягом його активної фази розробки. Якщо ваша розмітка перевіряється, ви можете зосередитися на помилках CSS. Тепер, якщо фрагменти розмітки вводяться під час різних стадій взаємодії з користувачем, все це стає дуже громіздким в управлінні, і все це стає крихким.
Ідея полягала в тому, щоб усі ваші конструкції інтерфейсу розмітки були в одному документі, отримували ТІЛЬКИ ДАНІ через мережу та використовували надійний фреймворк, який, принаймні, просто вводить ваші дані у ваші конструкції розмітки та у більшості повторюваних конструкцій розмітки який ви позначили як повторюваний.
Це було можливо за допомогою XSL-T та XPath в IE5 +, але практично жодного іншого браузера. Деякі фреймворки F / OSS працюють із XPath, але це ще не зовсім те, на що ми можемо покластися.
То що наступне найкраще, щоб досягти такої моделі? IBDOM. Отримуйте дані з вашого сервера, вводьте їх у свій документ. без зусиль.
Ви повинні поглянути на Javascript-Templates, це невеликий механізм шаблонів, який використовується у відомому плагіні jQuery File Upload і розроблений тим же автором Себастьяном Цханом (@blueimp)
https://github.com/blueimp/JavaScript-Templates
Дотримуйтесь посібника з використання Себастьяна, просто видаліть цей рядок
document.getElementById("result").innerHTML = tmpl("tmpl-demo", data);
Замініть його на цей
$('#result').html(tmpl('tmpl-demo', data));
Не забудьте додати тег результату div у свій HTML-файл
<div id="result"></div>
Насолоджуйтесь