如何在骨干网中加载预处理模板?

你能不能告诉我如何加载预先编译的模板。我用Google搜索并找到解决方案。现在我不知道如何使用这个function。请告诉我如何使用这个function? 代码: http : //goo.gl/ALfkzf

Backbone.Marionette.TemplateCache.prototype.loadTemplate = function (templateId, callback) { var tmpId = templateId.replace("#", ""), url = "/app/templates/" + tmpId + ".html"; $.get(url, function (templateHtml) { compiledTemplate = Handlebars.compile($(templateHtml).html()) callback.call(this, compiledTemplate); }); }; Backbone.Marionette.Renderer.renderTemplate = function (templateId, data) { var renderer = $.Deferred(); Backbone.Marionette.TemplateCache.get(templateId, function(template){ var html = template(data); renderer.resolve(html); }); return renderer.promise(); }; 

我正在尝试加载目录内的html文件? 模板/ test.html中

var ToolItemView = Backbone.Marionette.ItemView.extend({

  template: 'template/test.html', }); 

您尝试使用的代码替换了Marionette中的默认HTML机制。

  1. ‘template / test.html’将被翻译为“/app/templates/template/test.html.html”,我猜这不是你想要的(更改url生成或模板指针)
  2. 您的Backbone代码,并不假设,“test.html”是预编译的,相反编译是在客户端上发生的,在GET响应之后,这是您想要的吗?
  3. 关于Backbone覆盖使用,应该在尝试渲染ToolItemView之前调用它,所以基本上你可以在ToolItemView渲染之前的任何地方调用此代码。