2

是否可以创建返回异步结果的 Handlebars Helper Function?也许 Handlebars 支持某种双向绑定?我想使用来自 JSONP 请求的 JSON 数据,因此 jQuery.ajax 也不支持 async: false,但是这与我正在寻找的不完全相同。

4

1 回答 1

1

您可以在帮助程序中调用您想要的任何函数,但这对您没有任何好处。问题是 Handlebars 助手使用字符串,而其他人会将这些字符串转换为 DOM 元素。但是,当您的 AJAX 调用完成时,基于 Handlebars 生成的字符串构建的 DOM 元素与您可以在帮助程序内的成功回调中捕获的任何上下文之间将不会有任何有用的连接。

我认为你能做的最好的就是把它分成两部分:

  1. 辅助函数可以生成具有所需结构的 HTML,您可能会有一些结构的组合classdata-*属性。
  2. 一些在 HTML 被 DOM 化后作用于 HTML 的 JavaScript 。该 JavaScript 可以从1class中查找具有和data-*属性的内容,启动适当的 AJAX 调用,然后在成功处理程序中修补 DOM。

也许没有那么有用,但这可能是您在使用基于文本的模板系统时可以做的最好的事情。

于 2013-09-20T03:33:02.460 回答