{{#each dogs}}
<li>{{this.name}}</li>
{{/each}}
想象一下,我使用 ajax 来更新上面的列表,完成后如何重新编译模板?我可以执行 location.reload() 但这对用户体验不利。由于我使用的是 Handlebars ,所以我不应该使用 jquery 生成 html 并更新 DOM。
最佳答案
您可以使用 Handebars.compile(data)
方法重新编译模板,次数不限。
谁说使用 Handlebars 时不能使用 jQuery 生成和更新 DOM?
但是,您不需要重新编译(感谢@dandavis!)来更新数据。这是一个小演示,它编译 Handlebars 模板一次,然后在每次新的 Ajax 调用之后更新模板数据并使用 jQuery 将其附加到 DOM 上:JSFiddle Demo
关于javascript - 使用更新的数据重新渲染 Handlebars 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487156/