Можно ли загрузить шаблон руль через AJAX?
-
13-11-2019 - |
Вопрос
Я хотел бы загрузить дополнительные шаблоны на лету.Возможно ли это?
Решение
Вы можете зарегистрировать новые шаблоны в 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
Не связан с StackOverflow