【问题标题】:How to check contain in knockout如何在淘汰赛中检查包含
【发布时间】:2014-04-05 04:53:59
【问题描述】:

我正在使用淘汰赛,并且我有一个 html 页面,我想在其中检查具有某些值的字符串。 就像我有一个字符串'A:B:C:D:F:G:H:I',我只想在 html 中检查这个字符串,如果。 型号

 var viewModel = function () {
   var self = this;
   self.key = ko.observable("A:B:C:D:F:G:H:I");
 }

查看

<!-- ko if: key().contains('A') -->
    <input type="checkbox" checked="checked" value="A"/>
 <!-- /ko -->
  <!-- ko if: key().contains('B') -->
    <input type="checkbox" checked="checked" value="B"/>
 <!-- /ko -->

在这里假设 key 是一个字符串,我想检查 key 是否包含 A 然后做一些事情,如果 B 然后做一些其他事情。如何通过淘汰赛来实现。

【问题讨论】:

    标签: knockout.js knockout-2.0


    【解决方案1】:

    我刚看到这个问题。即使我也遇到了同样的问题。我找到了解决方案,它可能对某人有所帮助。

     var viewModel = function () {
       var self = this;
       self.key = ko.observable("A:B:C:D:F:G:H:I");
     }
    

    所以在你看来你可以做这样的事情

    <!-- ko if: key().indexOf('A') > -1 -->
        <input type="checkbox" checked="checked" value="A"/>
    <!-- /ko -->
    <!-- ko if: key().indexOf('B') > -1 -->
        <input type="checkbox" checked="checked" value="B"/>
    <!-- /ko -->
    

    【讨论】:

      【解决方案2】:

      有两种方法可以检查。第一种是你可以直接检查key是否在绑定中包含A,如下所示:-

        <!-- ko if: key().contains('A') -->
          <input type="checkbox" checked="checked" />
        <!-- /ko -->
      

      但我认为这不是更好的方法,因此您可以使用 ko.computed 来检查。

       var viewModel = function () {
         var self = this;
         self.key = ko.observable("this A is test");
         self.keyCheck = ko.computed(function () {
            var key = self.key();
            return key && key.contains('A') ? true : false
         });
       }
      

      查看:-

        <!-- ko if: keyCheck -->
            Contains A:<input type="checkbox" checked="checked" />
        <!-- /ko -->
        <!-- ko ifnot: keyCheck -->
            Not Contains A:<input type="checkbox" value="ASM" />
        <!-- /ko -->
      

      Fiddle Demo

      【讨论】:

      • 请再次检查我的问题,我已为您修改。我有一个可观察的 val,我需要检查我的视图。那么如何实现呢。
      • 它工作正常。您的密钥同时包含 A 和 B,因此它显示了两个复选框。您是否尝试像 switch case 一样实现它?
      猜你喜欢
      • 2018-04-19
      • 2014-03-30
      • 1970-01-01
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 2021-03-27
      相关资源
      最近更新 更多