【发布时间】:2012-01-03 21:21:38
【问题描述】:
我有一个复杂的页面,它使用敲除通过模板呈现内容。渲染大约需要 10 秒,所以我想在发生这种情况时显示一个进度条。我试图在模板中添加一个回调到破坏页面的afterRender 方法 - 我认为这个方法更多地与摆弄模板生成的html有关。
我还尝试创建一个绑定处理程序,在每次调用时更新进度条:
ko.bindingHandlers.updateProgressBar = {
init: function (element, valueAccessor) {
viewModel.updateProgressBar();
}
};
...
<ul data-bind="template: {name: 'genericItemTemplate', foreach: ChildItems}, updateProgressBar: true"></ul>
不幸的是,虽然每次都会调用该方法,但直到模板完全完成渲染后 UI 才会更新,所以我没有得到我正在寻找的运行进度。
我正在使用 tmpl 模板库。
如何通过 observableArray 中的大量项目集合显示模板的进度更新 UI?
【问题讨论】:
标签: knockout.js jquery-templates