簡體   English   中英

如果綁定在knockout.js中不起作用

[英]if binding in knockoutjs not working

我正在嘗試在帶有數據綁定的基因敲除js中使用if語句:

例如,如果if為false且div中的文本應隱藏:

    <!-- this is what i am trying to get working. -->
    <div data-bind="if: little">rank : little</div>

我的猜測是,這件作品無法按預期工作。 它應該返回false,因為clickCount在啟動時為0。

  this.little = function(){
    return this.clickCount() > 5;
  };

我已經粘貼了app.js和index.html的代碼。

這是app.js

var ViewModel = function (){
  this.clickCount = ko.observable(0);
  this.name = ko.observable('Tabby');
  this.imgSrc = ko.observable('img/2.jpg');
  this.imgAttribution = ko.observable('http://www.flickr.com/photos/big');


  this.incrementCounter = function() {
    this.clickCount(this.clickCount() + 1);
  };


  // this is not returning false as it should.
  this.little = function(){
    return this.clickCount() > 5;
  };

}

ko.applyBindings(new ViewModel());

這是index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Cat Clicker</title>
</head>
<body>

    <div>

        <h2 data-bind="text: name"></h2>
        <div data-bind="text: clickCount"></div>

        <!-- this is what i am trying to get working. -->
        <div data-bind="if: little">rank : little</div>

        <img src="" alt="cute cat" data-bind="click: incrementCounter, attr:{src: imgSrc}">

    </div>
    <script src="js/lib/knockout-3.2.0.js"></script>
    <script src="js/app.js"></script>
</body>
</html>

嗨,您可以使用可見的淘汰賽綁定

以下代碼將為您工作:

    <div data-bind="visible: !little()">rank : little</div>
                            OR
    <div data-bind="visible: little()">rank : little</div>

暫無
暫無

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

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