我是淘汰赛的新手,我正试图检查两个布尔值。目前,我有:
data-bind="css: { hidden: bool1() }"
Hidden是我在CSS中创建的一个类。我需要检查两个bool才能使用该类。一个bool工作正常。我该如何使用两个?
我尝试了以下内容:
data-bind="css: { hidden: bool1() && bool2() }"
data-bind="css: { hidden: bool1() + bool2() }"
我只是没有得到它。有人可以帮忙吗?
答案 0 :(得分:2)
这是一个工作示例。如果选中两个框,则隐藏文本。在绑定中的表达式中使用它们时,需要调用observable。
ko.applyBindings({
bool1: ko.observable(),
bool2: ko.observable()
});
.hidden {
visibility:hidden;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div data-bind="css:{hidden:bool1()&&bool2()}">I'm here!</div>
<input type="checkbox" data-bind="checked:bool1" />
<input type="checkbox" data-bind="checked:bool2" />
答案 1 :(得分:0)
<强>更新强> 哦!傻我。一定要在bool1和bool2之后插入括号..所以:
val identifierPosition = 3;
val l = "this is a identifierhere here";
val sl = l.split(" ").toList;
val elementAtPos = sl(identifierPosition)
val swapped = elementAtPos :: dropIndex(sl , identifierPosition)
println(swapped)
def dropIndex[T](xs: List[T], n: Int) : List[T] = {
val (l1, l2) = xs splitAt n
l1 ::: (l2 drop 1)
}
另外,请务必将其放入div标签中,或放在船上。
http://knockoutjs.com/上有很多文档,所以你应该检查一下你还没有。告诉我它是否有效。
答案 2 :(得分:0)
这是另一种选择(Roy J&#39; s的扩展),它使你的html更简单,并且使重构更容易如果你在多个地方使用bool的组合
bool1 = ko.observable();
bool2 = ko.observable();
ko.applyBindings({
bool1: bool1,
bool2: bool2,
shouldHideDiv: ko.computed(function () {
return bool1() && bool2();
})
});
&#13;
.hidden {
visibility:hidden;
}
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div data-bind="css:{hidden: shouldHideDiv}">I'm here!</div>
<input type="checkbox" data-bind="checked:bool1" />
<input type="checkbox" data-bind="checked:bool2" />
&#13;