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

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

最佳答案

您的计算版本几乎是正确的。改成这样

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

DEMO

关于javascript - Knockout js - 获取可观察的字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25413281/

相关文章:

javascript - 具有 $index 绑定(bind)的交替行样式

knockout.js - 为什么单击事件仅针对此 KoGrid 模板中的第一个元素触发?

javascript - reactjs 客户端和 flask-socketio 服务器之间的 WebSocket 连接未打开

javascript - 如何在加载 Knockout.js 模板时触发事件

javascript - 如何使用 ng-repeat 和 Ionic 框架显示嵌套的 JSON 对象?

javascript - jQuery 不能在 Chrome 中 $(...).load() 标题

javascript - 当我点击浏览器上的“查看源代码”时,无法查看 Html

javascript - Knockout JS 安全建议/开发工具

javascript - 如何优化网站加载速度?

javascript - 将参数传递给回调函数