这让我疯了好几个小时了。我想我已经在javascript方面尝试了一切。在javascript方面,我有这个值: resultItem.standingNo 这是一个可以观察到的淘汰赛。这个工作正常,它应该更新。我已经使用了订阅者和我能想到的所有内容来查看值的更新,并尝试使用相同的内容来更新其他可观察对象而不是使用此对象。
会发生什么。当我创建observable时,初始值在html中呈现。但是html位从未收到更新。我尝试过使用 .extend({notify:' always'}),我尝试了 observable ,计算和 pureComputed ,none都不会更新ui。但所有人都获得了新的价值。我在同一个类中有其他可观察的更新。但它们并不位于html的同一个地方。
下面的resultItem.shortName 不是可观察的,也不需要更新。
所以我的问题是,html是否有一些限制阻止一些可观察的更新?因为我无法在两个" ..."之间看到我的代码有任何问题。这些代码可以在没有问题的情况下获得可观察的更新。有什么想法吗?
<!-- ko foreach: { data: resultLists, as: 'resultList' } -->
<!-- ko if: resultList.visible -->
...
<!-- ko foreach: { data: resultList.resultItems, as: 'resultItem', afterRender: $parent.renderedHandler } -->
<!-- Competitor Info Row Start-->
<tr class="rowDetail" data-bind="toggleCompetitorDetails: resultItem.competitorSelected">
<td class="selected-competitor-content" colspan="100%">
<div class="selected-competitor-container" >
<div class="selected-competitor-image">
<div class="img" data-bind="attr: { style: 'background-image: url(' + resultList.getRandomImage() + ');' }"></div>
<div class="competitor-dot competitor-star" data-bind="attr: {class: resultItem.isTopCompetitor()}, style: { backgroundColor: resultItem.color.toString(), color: resultItem.color.toString() }"></div>
</div>
DOES NOTE UPDATE --> <div class="selected-competitor-position" data-bind="text: resultItem.standingNo"></div> <-- DOES NOTE UPDATE
<div class="selected-competitor-info">
<p class="selected-competitor-name" data-bind="text: resultItem.shortName"></p>
<p class="selected-competitor-captain" data-bind="text: resultItem.name"></p>
</div>
</div>
</td>
</tr>
<!-- Competitor Info Row End -->
...
<!-- /ko -->
<!-- /ko --><!-- ResultList visible end -->
<!-- /ko --><!-- ResultLists foreach End -->