Luc*_*Luc 76 javascript mvvm knockout.js
我是一个巨大的淘汰赛粉丝.我现在用它来进行我的所有网络开发,只是喜欢它.我无法弄清楚的一件事是如何在构建knockoutjs绑定时隐藏UI.
例如,我有一个非常强大的用户界面,我的页面上使用了很多模板.我注意到的问题是,当用户第一次访问页面时,他们会在绑定启动之前看到我的所有模板,并隐藏它们.
解决此问题的最佳方法是什么?我已经尝试使用辅助类来隐藏它们,但是除非我删除了辅助类引用(即ui-helper-hidden),否则模板不能使用'visible'和'if'绑定显示.
Jas*_*ore 194
我只是在谷歌这个,并在使用可观察的方式后,我想到了另一种方法:
<div style="display: none" data-bind="visible: true">
<ul data-bind="foreach: items">
<li data-bind="text: name"></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
您不需要可观察对象,一旦数据绑定完成,可见总是会评估为true.
RP *_*yer 71
您可以在此处使用几种策略.
- 一种是将所有实际内容放入生活在脚本标签中的模板中(使用本机模板可以正常工作).在模板中,您可以使用控制流绑定.这就像:
<div data-bind="template: 'contentTmpl'"></div>
<script id="contentTmpl" type="text/html">
<ul data-bind="foreach: items">
<li data-bind="text: name"></li>
</ul>
</script>
Run Code Online (Sandbox Code Playgroud)
- 另一种选择是style="display: none"在容器元素上使用一个visible绑定,该绑定可以绑定到一个loadedobservable,您true可以在应用绑定之后将observable更改为.