是否有JsRender渲染完成的事件

时间:2012-08-02 08:57:35

标签: jsrender

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

2 个答案:

答案 0 :(得分:3)

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

如果您有多个异步进程(例如返回数据然后使用jsRender呈现的ajax调用),并且在执行某些操作之前需要完成所有这些操作,则可以使用jQuery的Deferred对象。请查看.when()了解如何执行此操作。

答案 1 :(得分:0)

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

{{if #index+1 >= #get("array").data.length}}
{{:~jsRenderDone()}} {{/if}}