在淘汰赛中有没有办法告诉它等待评估html的某些部分,直到设置一个值?
第一种方法是我目前正在做的工作,而最底层的方法就是我希望拥有的(或类似的)。
<div>
<span data-bind="text: ObservableThing() != null ? ObservableThing().Name : ''">
</div>
<div data-bind="visible: isReady()">
<span data-bind="text:ObservableThing().Name">
</div>
我确定有人在此之前对此感到恼火并解决了它......如果它还没有内置而且我只是没有找到它。
编辑:更多上下文。 Observable事物的定义如下:model.ObservableThing = ko.observable();
并且它在某个时候由此代码调用jQuery.Get设置:model.ObservableThing (resultData);
答案 0 :(得分:0)
很简单,使用if。
<div data-bind="if: isReady()">
<span data-bind="text:ObservableThing().Name">
</div>
这一切都有效。
答案 1 :(得分:0)
由于'ObservableThing'是一个复杂的对象,因此使用with绑定绑定它,并且所有后代都可以绑定到'ObservableThing的属性。它比使用if更干净,更好,因为淘汰将决定何时渲染'ObservableThing'及其元素。
<div data-bind="with: ObservableThing">
<span data-bind="Name">
</div>
查看此链接以获取更多信息:http://knockoutjs.com/documentation/with-binding.html