【问题标题】:Get length of a string with data-link使用数据链接获取字符串的长度
【发布时间】:2020-05-19 04:37:38
【问题描述】:

我想在我的文本区域中显示文本的长度。但由于我不想为它构建事件处理程序,我想尝试用数据链接解决这个问题。不幸的是,我找不到这样做的方法。

<textarea id="commentText" data-link="commentText()"></textarea>
<span><span id="commentTextLength">{^{>commentText().length}}</span>/300</span>

【问题讨论】:

    标签: jsviews


    【解决方案1】:

    您可以简单地将表达式从commentText().length 更改为commentText()^length

    "deep linking"

    这样,只要commentText() 本身有可观察到的变化,您就可以更新表达式。

    所以你可以写:

    {^{>commentText()^length}}
    

    <span data-link="commentText()^length"></span>
    

    无论您使用的是纯字符串值 commentText^length 还是计算出的可观察值 commentText()^length,这都同样有效。

    【讨论】:

    • 感谢您的回复。我试过了,但它不起作用。当我尝试使用“{^{&gt;commentText()^length}} 方式”时,控制台中出现错误。 “jQuery.Deferred 异常:无法读取未定义类型错误的属性‘长度’:无法读取未定义的属性‘长度’”。当我使用commentText^length 时,它总是显示“1”。我认为这意味着他计算 1 textarea 而不是它的内容。我对这个主题还是很陌生。我一定会看看“DeepLink”。
    • 也许你犯了其他错误。你可以创建一个 jsfiddle 示例来显示你在做什么,带有 jQ​​uery.Deferred 异常吗?
    • 这是一个工作示例:jsfiddle.net/BorisMoore/n3wt69cz
    猜你喜欢
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2020-12-19
    • 2013-12-09
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多