聆听Handlebars渲染

时间:2012-04-13 08:47:36

标签: javascript templates handlebars.js

我想要达到的目标是:

  • 将模板呈现为绑定到表单提交以添加微调器
  • 在呈现模板之前删除微调器(如果存在)

如果有一种方法可以绑定Handlebars的渲染,我想这很容易实现。我还没有找到任何可能的线索。

我试图解决这个问题的方式可能不是正确的方法,所以请随意提出其他方法。

这是一个单页应用程序,使用Davis进行路由,使用jQuery进行DOM操作。

1 个答案:

答案 0 :(得分:2)

绑定到表单提交的第一个问题可以通过jQuery的on handler $(document).on("submit", "form", function(event) { ... });来解决。只要它们被附加到DOM,它就适用于所有表单。

对于渲染部分,制作一个包含.html()调用和triggers事件的小jQuery插件。然后绑定内容元素以监听它。例如。 $("#content").bind("render", function() { /* REMOVE SPINNER */ });$("#content").render(/* WHATEVER IT TAKES TO GET HTML OUT OF HANDLEBARS */);。最后是插件:

(function($) {
  $.fn.render = function(htmlString) {
    var selector = this;
    selector.html(htmlString);
    selector.trigger("render");
  };
})(jQuery);

我创建了一个fiddle来演示后一种情况(没有Handlebars)。