我是KO的新手,我有一个我无法解决的问题。
我不明白在我尝试的这个特定部分中可观察的理论。我有一个跨度应始终使用observableArray(self.links)的值自行更新,该值由用户通过表单填充。
每当我推送到数组时,我认为它应该自动更新范围,但它没有,我不明白为什么,这是我的主要问题,而不是理解为什么。
我知道如果不是
<div class="panel-heading"><span data-bind="text: numberOfLinks">
我有......
<div class="panel-heading"><span data-bind="text: links().length">
跨度会自动更新,但问题是,我如何将该链接()。长度值实际放入变量中,以便可以在其他地方使用(这可能不会发生,但我很好奇)。< / p>
我这里有js,所以更容易:http://jsfiddle.net/Kc4vL/2/
答案 0 :(得分:0)
您可以直接使用link()。length来显示链接数: -
<span data-bind="text: links().length"></span> available links</div>
或者你必须使用computed来获得observableArray的长度。还有一种没有计算的方法,每次添加新链接时都可以更新numberOfLinks。
self.addLink = function(){
self.links.push(new Link(self.linkToAdd()));
self.numberOfLinks(self.links().length);
};