Knockout js - 获取可观察的字符串长度

时间:2014-08-20 19:50:53

标签: javascript knockout.js

这似乎是一个简单的问题,但我似乎无法弄清楚

我只需要显示可观察字符串的长度。我已尝试使用ko.computed()函数实现结果,如下面的代码所示,但它总是返回零。

Fiddle with an example

HTML

<div id="vm"> 
    <h2>The title is: <span data-bind="text: title"></span></h2>
    <h2>The length is: <span data-bind="text: title.length"></span></h2>
    <h2>Length from computed: <span data-bind="text: titleLength"></span></h2>
    <input data-bind="value: title, valueUpdate: 'keyup'"/>
</div>

的JavaScript

function VM() {
    var self = this;
    self.title = ko.observable();
    self.titleLength = ko.computed(function() {
        return self.title.length;
    });
}

ko.applyBindings(VM(), document.getElementById('vm'));

1 个答案:

答案 0 :(得分:5)

您的计算版本几乎是正确的。通过这个改变它

return self.title().length; // <-- Notice () after title

DEMO