似乎在淘汰赛3.2.0中他们改变了ObservableArrays的行为。在淘汰赛2中,如果我做了:
var array = ko.observableArray(null)
console.log(array())
它会使我返回null。在knockout 3.2.0上同样的事情不会发生,因为可观察数组而不是null被创建为空数组。
这是我的情况:
<div>
<div class="spinner" data-bind="visible: comments() == null">
<!-- ko foreach: comments -->
...
<!-- /ko -->
</div>
我想开始在注释div中显示一个微调器,当填充注释时,我将隐藏微调器并显示注释。我不能data-bind="visible: comments().length == 0"
因为如果帖子没有注释,则注释数组的长度为0,旋转器将永久显示。
我该如何做到这一点?
答案 0 :(得分:1)
这样可行。
self.comments = ko.observableArray([]);
<!-- ko if: comments().length > 0 -->
Greater than zero // Show spinner
<!-- /ko -->
<!-- ko ifnot: comments().length > 0 -->
No greater than zero // No spinner needed
<!-- /ko -->
让我知道你的想法。