knockoutjs模板在viewModel加载/绑定之前显示

时间:2012-05-24 04:18:27

标签: knockout.js

我正在使用Knockoutjs模板。页面加载了模板html显示一小段时间,然后在加载和绑定viewModel之后,它正确显示。处理这个问题的最佳方法是什么?目前我将模板包装在一个设置为display:none的div中,然后在应用绑定后删除它。

2 个答案:

答案 0 :(得分:3)

将标记包装在脚本标记中:

<script type="text/html" id="viewModelTemplate">
... your markup ...
</script>

然后有一个顶级元素:

<div data-bind="template: {name: 'viewModelTemplate'}"/>

可以提供帮助。

答案 1 :(得分:0)

您何时绑定视图模型?你是从AJAX请求还是事件中做到的?如果数据存在,则应在页面底部运行脚本标记,并在显示任何HTML之前执行绑定。如果需要在显示HTML后运行绑定,则需要使用方法。如果您正在使用AJAX,我将构建视图模型,以便绑定到空视图模型并具有在加载完成时设置的isLoaded之类的属性,然后您可以绑定它:

<div data-bind="visible: isLoaded">...</div>
相关问题