Вопрос

Я хотел бы загрузить дополнительные шаблоны на лету.Возможно ли это?

Это было полезно?

Решение

Вы можете зарегистрировать новые шаблоны в Ember.TEMPLATES.Затем они будут доступны для просмотров.

Выдержка из моего кода (JQuery Ajax Handler):

success: function(data) {
  $(data).filter('script[type="text/x-handlebars"]').each(function() {
    templateName = $(this).attr('data-template-name');
    Ember.TEMPLATES[templateName] = Ember.Handlebars.compile($(this).html());
  });
}
.

Это так.

Другие советы

Я просто искал то же самое, и собираюсь иметь игру с фрагментом ниже

Кредит: Borismus на Github https://gist.github.com/2165681

<script>
/*
 * Loads a handlebars.js template at a given URL. Takes an optional name, in which     case,
 * the template is added and is reference-able via templateName.
 */
function loadTemplate(url, name, callback) {
  var contents = $.get(url, function(templateText) {
    var compiledTemplate = Ember.Handlebars.compile(templateText);
    if (name) {
      Ember.TEMPLATES[name] = compiledTemplate
    } else {
      Ember.View.create({ template: compiledTemplate }).append();
    }
    if (callback) {
      callback();
    }
  });
}
</script>
.

Я использую TINECTJS вместе с текстовым плагином, чтобы динамически загружать шаблоны руль.

r.js Оптимизатор будет компилировать шаблон Handlerbar к текстовому файлу, который можно легко загрузить с помощью EMENJES или даже Ajax

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top