knockoutjs visible

以前在项目中开发时,利用knockoutjs中的visible属性来隐藏,显示div。通过给visible绑定一个表达式,发现没有效果,以为只能绑定bool值。这几天开发又遇到这个问题,所以决定一探究竟。分别写了两种绑定方式的:

<div id="testDiv">
<div>
    <a data-bind="click: showHiddenFirst"href="#">Show first</a>
    <div data-bind="visible: isVisibleFirst()">
        bool值绑定
    </div>
     <div data-bind="visible:count()==1">
        表达式绑定
    </div>
</div>
</div>
  <script type="text/javascript">

      var vm = function () {
          this.isVisibleFirst = ko.observable(true);
          this.count = ko.observable(1);
          this.showHiddenFirst = function () {
              if (this.isVisibleFirst() == true) {
                  this.isVisibleFirst(false);
                  this.count(2)
              }
              else {
                  this.isVisibleFirst(true);
                  this.count(1)
              }
          };
      }
      ko.applyBindings(new vm(),document.getElementById("testDiv"));
  </script>
 

经测试,两种方式都可以。


你可能感兴趣的:(knockoutjs visible)