javascript – KnockoutJS data-bind =“可见:”有两个条件不起作用

前端之家收集整理的这篇文章主要介绍了javascript – KnockoutJS data-bind =“可见:”有两个条件不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用KnockoutJS锻炼一件简单的事情.

我有两个下拉菜单和一个文本框.

我需要的

如果同时选择了两个下拉菜单,那么只有我应该显示复选框.否则,文本输入应该不可见.

我尝试了什么:

这是我的小提琴:https://jsfiddle.net/vikash208/z4x5meua/13/

我使用过这样的东西:

data-bind="visible: selectedValue && selectedControl"

从上面可以看出,条件如下:

IF selectedValue IS TRUE AND selectedControl IS NOT UNDEFINED

请给我一个解决方案,并在我错误的地方.我是淘汰赛的初学者

解决方法

在绑定中使用多个条件时,需要打开observable,以便可以计算整个表达式.

为此,只需在observable后添加括号:

<input type="text" class="form-control" data-bind="visible: selectedValue() && selectedControl()" />

JSFiddle

您还可以使用其中的条件创建另一个计算的observable(注意,您仍然在计算的observable中打开observable).这可能是更好的选择,因为它将逻辑保留在视图模型中并且可以重用.

Txt.showCondition = ko.computed(function() {
    return this.selectedItem() && this.selectedValue()
},this);

然后只需将输入绑定到此:

<input type="text" class="form-control" data-bind="visible: showCondition" />

JSFiddle

猜你在找的JavaScript相关文章