我试图使用带有否定的可见数据绑定,但它似乎不起作用。 我在stackoverflow中发现了几个问题,指出NOT绑定应该用作表达式。但在我的情况下,我只是使用长度属性,所以我不知道如何使用表达式。这是我的例子
<div class="form-group" data-bind="visible:!users.length == 0">
<span>Some message here...</span
</div>
<div class="form-group" data-bind="visible:users.length > 0">
<span>User data grid here...</span
</div>
答案 0 :(得分:4)
我猜users
是一个observableArray,因此你应该这样做:
data-bind="visible:users().length !== 0"
更好,更清晰的意图是在视图模型上创建一个计算属性,然后绑定到该模型:
showUsers = ko.computed(function(){
return _this.users().length > 0;
});
然后您的绑定变为:
data-bind="visible:showUsers"
或者
data-bind="visible:!showUsers()"
以下是使用各种技术的jsFiddle showing a full example。