簡體   English   中英

KnockoutJS data-bind =“Visible:”有兩個條件不起作用

[英]KnockoutJS data-bind=“Visible :” with two conditions is not working

我想用KnockoutJS鍛煉一件簡單的事情。

我有兩個dropdowns和一個textbox

我需要的

如果同時選擇了兩個下拉菜單,那么只有我應該顯示復選框。 否則,文本輸入應該不可見。

我嘗試了什么:

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

我使用過這樣的東西:

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

從上面可以看出,條件如下:

IF selectedValue IS TRUE AND selectedControl IS NOT UNDEFINED

請給我一個解決方案,並在我錯誤的地方。 我是knockoutJS的初學者

在綁定中使用多個條件時,需要打開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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM