最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Knockout js - Getting string length of observable - Stack Overflow

programmeradmin0浏览0评论

This seems to be a simple issue but I can't seem to figure it out

I just need to display the length of a string that is observable. I have tried achieving the result with a koputed() function as you can see in the code below, but it always returns zero.

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 puted: <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 = koputed(function() {
        return self.title.length;
    });
}

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

This seems to be a simple issue but I can't seem to figure it out

I just need to display the length of a string that is observable. I have tried achieving the result with a ko.puted() function as you can see in the code below, but it always returns zero.

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 puted: <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.puted(function() {
        return self.title.length;
    });
}

ko.applyBindings(VM(), document.getElementById('vm'));
Share Improve this question edited Aug 20, 2014 at 19:57 Weafs.py 23k9 gold badges57 silver badges79 bronze badges asked Aug 20, 2014 at 19:50 bzliesbzlies 1411 gold badge2 silver badges8 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

Your puted version is almost correct. Change it by this

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

DEMO

发布评论

评论列表(0)

  1. 暂无评论