Pregunta

Me gustaría cargar plantillas adicionales sobre la marcha.¿Es posible?

¿Fue útil?

Solución

Puede registrar nuevas plantillas en Ember.TEMPLATES.Luego estarán disponibles para las vistas.

un extracto de mi código (Handler de JQUERY AJAX):

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());
  });
}

Eso es.

Otros consejos

Estaba buscando lo mismo y estoy a punto de jugar con el fragmento de abajo

Crédito: Borismus en 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>

Estoy usando RequitJs junto con el complemento de texto para cargar plantillas de manillar dinámicamente.

R.js Optimizer compilará la plantilla de HandlerBar a un archivo de texto, que se puede cargar fácilmente utilizando RedesJS o incluso AJAX

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top