似乎在淘汰赛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/