2

是否有 JsRender 事件或回调来确定渲染方法何时完成?我想处理一些模板并确保它们在我获取结果文档元素之前都已完成。所有渲染方法是否同步运行?

4

2 回答 2

3

jsRender 同步渲染模板,没有回调函数,.render()函数只是返回渲染的数据。

当您确实有多个异步进程(例如返回数据的 ajax 调用,然后您使用 jsRender 渲染),并且您需要在执行某些操作之前完成所有这些进程,您可以使用 jQuery 的 Deferred 对象。查看.when()以了解如何做到这一点。

于 2012-08-02T16:16:56.570 回答
1

有一种方法可以确定模板引擎何时呈现最后一行。a) 创建一个辅助函数。在这种情况下称为:jsRenderDone 然后在底部的模板中使用条件逻辑,该逻辑仅在呈现最后一行后触发辅助函数。

{{if #index+1 >= #get("array").data.length}}
{{:~jsRenderDone()}} {{/if}}
于 2016-03-22T23:05:14.677 回答