Knockout.js if语句布尔测试

时间:2013-04-28 22:08:43

标签: javascript if-statement knockout.js

我有一个可以使用虚假(默认)或对象作为值的可观察对象。 下面的代码块根据可观察值

的值排列html结构
      <!-- ko: if peer() -->
        <div id="chatbox" >
            <div id="textbox">Should be invisible</div>
        </div>
        <!-- /ko -->
        <!-- ko: ifnot peer()  -->
        <div id="banner" >Should be visible</div>
        <!-- /ko -->

,observable定义为

   function T(){
      this.peer = ko.observable(false);
   };
   ko.applyBindings(new T());

页面上显示“应该可见”和“应该不可见”。我也试过没有“()”如果条件,但结果仍然是相同的。请参阅http://jsfiddle.net/zSKhN/

我做错了什么?

1 个答案:

答案 0 :(得分:4)

你刚刚把冒号放错了。 ko: if应为ko if:,依此类推,标记应如下所示:

<!-- ko if: peer() -->
<div id="chatbox" >
  <div id="textbox">Should be invisible</div>
</div>
<!-- /ko -->
<!-- ko ifnot: peer()  -->
<div id="banner" >Should be visible</div>
<!-- /ko -->

以下是您的示例的更新jsfiddle:http://jsfiddle.net/zSKhN/