gpt4 book ai didi

javascript - TypeError : someProperty(. ..) 为 null - knockout

转载 作者:行者123 更新时间:2023-12-02 15:12:01 25 4
gpt4 key购买 nike

我正在尝试这段代码,其中 someProperty().length 返回属性的长度,并且位于 foreach 循环内

<p data-bind="html: (someProperty().length == null ? 0 : someProperty().length)"></p>

但在 Firefox 中出现以下错误。

TypeError: someProperty(...) is null

最佳答案

在 JS 中,某些值在条件表达式中被视为 false,例如:""nullundefined0。因此,您不需要验证 html 字符串是否有长度,空字符串lenght == 0"" 等于 false,所以你只需要这样做: !someProp() ? 0 :someProp().length,在此条件下,当 somePropperty() 返回任何 false 同义时,将应用 0,并且字符串的长度永远不会为 null,如果它为空,length 将是 0,请在代码片段中查看如何优化三元在数据绑定(bind)属性中:

function viewModel()
{
this.someProp = ko.observable("<strong>TEST</strong>");
};

ko.applyBindings(new viewModel());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>

<p data-bind="html: someProp && !someProp() ? 0 : someProp().length "></p>

关于javascript - TypeError : someProperty(. ..) 为 null - knockout ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34752696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com