【发布时间】:2015-01-14 12:35:53
【问题描述】:
我有一个页面,其中包含一些 KO 脚本,现在我的 2 个下拉菜单可以 没有淘汰赛在 KO 脚本之前加载,这意味着它看起来真的很难看,有吗 有一种方法可以让一切都等到一切都准备好显示后再显示?
谢谢,有什么好的建议吗?
【问题讨论】:
标签: jquery html knockout.js
我有一个页面,其中包含一些 KO 脚本,现在我的 2 个下拉菜单可以 没有淘汰赛在 KO 脚本之前加载,这意味着它看起来真的很难看,有吗 有一种方法可以让一切都等到一切都准备好显示后再显示?
谢谢,有什么好的建议吗?
【问题讨论】:
标签: jquery html knockout.js
使用“display: none”样式应用绑定的容器。
<div style='display: none' id='container' data-bind='visible: true'>
</div>
然后在视图模型的根上使用可见绑定,例如:
function MyViewModel(){
var self = this;
...
self.Loaded = true;
...
}
ko.applyBindings(new MyViewModel(), document.getElementById('container'));
更新。根据@Jeroen 的评论,即使这样也可以:
<div style='display: none' id='container' data-bind='visible: true'>
</div>
【讨论】:
style='display: none' data-bind='visible: true' 有时也能提供帮助。