Spec-Zone.ru › Marionette.js 2

Marionette.TemplateCache

The TemplateCache предоставляет кэш для извлечения шаблонов из блоков скриптов в вашем HTML. Это повысит скорость последующих вызовов для получения шаблона.

Индекс документации

  • Базовое использование
  • Очистка элементов из кэша
  • Настройка доступа к шаблонам
  • Переопределение извлечения шаблонов
  • Переопределение компиляции шаблонов

Базовое использование

Для использования TemplateCache, вызовите метод get для TemplateCache напрямую. Внутри, экземпляры класса TemplateCache будут созданы и сохранены, но вам не нужно создавать эти экземпляры вручную. get вернёт скомпилированную функцию шаблона.

var template = Marionette.TemplateCache.get("#my-template", {some: options});
// use the template
template({param1:'value1', paramN:'valueN'});

Выполнение нескольких вызовов для получения одного и того же шаблона извлечёт шаблон из кэша при последующих вызовах.

Очистка элементов из кэша

Вы можете очистить один или несколько или все элементы из кэша, используя метод clear. Очистка шаблона из кэша заставит его перезагрузиться из DOM (через функцию loadTemplate, которую можно переопределить, см. ниже) в следующий раз, когда он будет получен.

Если вы не указываете никаких параметров, все элементы будут очищены из кэша:

Marionette.TemplateCache.get("#my-template");
Marionette.TemplateCache.get("#this-template");
Marionette.TemplateCache.get("#that-template");

// clear all templates from the cache
Marionette.TemplateCache.clear()

Если вы указываете один или несколько параметров, эти параметры предполагаются в качестве templateId для загрузки/кеширования:

Marionette.TemplateCache.get("#my-template");
Marionette.TemplateCache.get("#this-template");
Marionette.TemplateCache.get("#that-template");

// clear 2 of 3 templates from the cache
Marionette.TemplateCache.clear("#my-template", "#this-template")

Настройка доступа к шаблонам

Если вы хотите использовать альтернативный движок шаблонов, сохраняя при этом функциональность кэширования шаблонов, или хотите настроить способ хранения и извлечения шаблонов, вам нужно настроить TemplateCache object. По умолчанию TemplateCache, извлекает шаблоны из DOM на основе атрибута id содержащего элемента и компилирует html в этом элементе с помощью функции template underscore.js.

Переопределение извлечения шаблонов

По умолчанию извлечение шаблонов выбирает содержимое шаблона из DOM с помощью jQuery. Если вы хотите изменить способ работы, вы можете переопределить метод loadTemplate в объекте TemplateCache.

Marionette.TemplateCache.prototype.loadTemplate = function(templateId, options){
  // load your template here, returning the data needed for the compileTemplate
  // function. For example, you have a function that creates templates based on the
  // value of templateId
  var myTemplate = myTemplateFunc(templateId);

  // send the template back
  return myTemplate;
}

Переопределение компиляции шаблонов

По умолчанию компиляция шаблонов передает результаты из loadTemplate в функцию compileTemplate, которая возвращает скомпилированную функцию шаблона underscore.js. При переопределении compileTemplate помните, что она должна возвращать функцию, которая принимает объект параметров и значений и возвращает отформатированную строку HTML.

Marionette.TemplateCache.prototype.compileTemplate = function(rawTemplate, options) {
  // use Handlebars.js to compile the template
  return Handlebars.compile(rawTemplate);
}

© 2016 Muted Solutions, LLC
Licensed under the MIT License.
https://marionettejs.com/docs/v2.4.7/marionette.templatecache.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API