似乎在淘汰赛3.2.0中,他们更改了ObservableArrays的行为。在淘汰赛2中,如果我这样做了:

var array = ko.observableArray(null)
console.log(array())


它将返回我为空。在敲除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",因为如果帖子中没有评论,则comments数组的长度将为0,并且微调框将永远显示。

我该如何工作?

最佳答案

这会起作用。

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


让我知道你的想法。

关于javascript - knockout :从null开始observableArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30511007/

10-12 15:31