获取可观察对象的字符串长度

Knockout js - Getting string length of observable

本文关键字:字符串 对象 观察 获取      更新时间:2023-09-26

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

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

摆弄一个例子

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'));

你的计算版本基本正确。修改为

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