我想要达到的目标是:
如果有一种方法可以绑定Handlebars的渲染,我想这很容易实现。我还没有找到任何可能的线索。
我试图解决这个问题的方式可能不是正确的方法,所以请随意提出其他方法。
这是一个单页应用程序,使用Davis进行路由,使用jQuery进行DOM操作。
答案 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)。