KO IF可观察匹配值显示/隐藏

时间:2016-11-07 15:23:04

标签: javascript html knockout.js

<input type="text" data-bind="value: myObs" />
    var myObs = ko.observable(); 
       <!-- ko if: myObs === "hello" -->
            Whatever! html etc...
        <!-- /ko -->

如果我的可观察值等于“你好”,那么显示“无论如何!”。当用户输入“hello”时,我希望显示该字段,当它从输入中删除时,它会再次消失。

1 个答案:

答案 0 :(得分:3)

您需要在myObs之后添加括号,否则您将可观察函数与"hello"字符串进行比较,而不是observable本身的值:

var vm = {
  myObs: ko.observable("hello")
}

ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<input type="text" data-bind="value: myObs, valueUpdate: 'input'" />
<!-- ko if: myObs() === "hello" -->
  Whatever! html etc...
<!-- /ko -->