var classname = "myclass"; var value = "test"; var content = "
"+value+"
"+"Но это не совсем удобно, особенно если "склеивать" большое количество частей. jQuery 1.6.x предлагает свой шаблонизатор, но он пока в бета-версии. Есть куча сторонних решений, но они, как правило, громоздкие и надо всегда оценивать целесообразность их применения. Когда-то нашел интересный пример реализации шаблонизатора, который и покажу в действии.
Расширяем стандартный класс String:
String.prototype.supplant = function(o) { return this.replace(/\{([^{}]*)\}/g, function(a, b) { var r = o[b]; return typeof r === 'string' || typeof r === 'number' ? r : a; }); };
Пример его использования:
var template = "
{value}
Такой подход позволяет держать шаблоны вставки отдельно от логики скрипта, что позволяет удобно править верстку без правки логики.
Такой шаблон сохраняется один раз и используется для всего приложения, что также исключает повторную реализацию одинакового кода. Операция замены ключей шаблона значениями входящего объекта не является ресурсоемкой.
Комментариев нет:
Отправить комментарий