Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   JS шаблонизатор (https://javascript.ru/forum/jquery/22944-js-shablonizator.html)

Andrei 06.11.2011 17:05

JS шаблонизатор
 
Здравствуйте!

Получаю данные в json, посоветуйте какой лучше шаблонизатор на js использовать для вывода этих данных ?

trikadin 06.11.2011 17:50

В jquery есть parseJSON.

А вообще, в новых браузерах есть JSON.parse. В старых - черех eval.

Andrei 06.11.2011 18:11

trikadin, т.е такой вариант наиболее правильный или можно лучше ?

trikadin 06.11.2011 18:53

Честно говоря, не совсем понял, как ссылка относится к теме. Если вы хотите предложить какой-то вариант кода - выкладывайте его сюда.

DjDiablo 06.11.2011 20:45

Юзаю ejs http://www.embeddedjs.com/
не одной претензии к нему нет.
Стиль, как в php.
php пример <?="hello world" ?>
ejs пример <%="hello world" %>

пример шаблона
<ul>
<% for(var i=0; i<supplies.length; i++) {%>
   <li><%= supplies[i] %></li>
<% } %>
</ul>

FINoM 07.11.2011 02:33

jQuery Templates — очень не плох. Вроде-бы разрабатывается мелкософтом + включен в проект jQuery.

Andrei 07.11.2011 07:15

Всем спасибо, пожалуй остановлюсь на ejs !

Andrei 07.11.2011 10:51

DjDiablo, в принципе css можно подгружать вместе с шаблоном ?

<style type="text/css">
ul{
    color: red;
}
</style>

<ul>
<% for(var i=0; i<supplies.length; i++) {%>
   <li><%= supplies[i] %></li>
<% } %>
</ul>

DjDiablo 07.11.2011 12:03

Цитата:

в принципе css можно подгружать вместе с шаблоном ?
прописывать css в шаблоне мне пока не приходилось, я боюсь тебе придётся поэкспериментировать.

Но динамическое подключение css возможно в любом случае, это однозначно.
есть 3 варианта
1) попробуй стили в шаблоне прописывать. Думаю если стиль только этого шаблона будет касаться, и нечего другого, то проблем не возникнет.
2) Использоватьл сторонние загрузчики вроде unscriptable-curl
3) своять свою функцию что-то вроде
function loadCSS(src) {  
 var css = document.createElement('link');  
 css.setAttribute('type', 'text/css');  
 css.setAttribute('rel', 'stylesheet'); 
 css.setAttribute('href', src); 
 var head = document.getElementsByTagName('head').item(0);  
 head.insertBefore(css, head.firstChild);  
 return css;
}


з.ы. Насколько я знаю, не один из существующих шаблонизаторов css не касается, и специальных функций для работы с ними не имеет. Короче если впендюревание css в шаблон не прокатит, грузи тупо сам, способами 2 или 3.

Andrei 07.11.2011 16:46

DjDiablo, первый вариант работает, оставлю его !


Часовой пояс GMT +3, время: 18:40.