Knockout:使用null启动observableArray

时间:2015-05-28 15:32:18

标签: javascript knockout.js

似乎在淘汰赛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,旋转器将永久显示。

我该如何做到这一点?

1 个答案:

答案 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 -->

让我知道你的想法。