无法在Knockout.js中使用observableArray length更新span

Unable to update span with observableArray length in Knockout.js

本文关键字:observableArray length 更新 span Knockout js      更新时间:2023-09-26

我是新来的,我有一个问题我无法解决。

我不明白这个实验中observable背后的理论。我有一个span,它应该总是更新它的自我与一个observableArray (self.links)的值,这是由用户通过表单填写。

每次我推到数组,我认为它应该自动更新跨度,但它没有,我不明白为什么,这是我的主要问题,不理解为什么。

我知道如果不是

<div class="panel-heading"><span data-bind="text: numberOfLinks">

我有……

<div class="panel-heading"><span data-bind="text: links().length">

span将自动更新,但问题是,我实际上如何放置links()。长度值转换成一个变量,以便它可以在其他地方使用(这可能不会发生,但我很好奇)。

我这里有js,所以更容易:http://jsfiddle.net/Kc4vL/2/

可以直接使用link()。显示链接数的长度:-

<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);
    };
<<p> 小提琴演示/strong>