Knockout.js 如何检查淘汰中的包含

Knockout.js 如何检查淘汰中的包含,knockout.js,knockout-2.0,Knockout.js,Knockout 2.0,我正在使用knockout,我有一个html页面,我想在其中检查字符串的值。 就像我有一个字符串'A:B:C:D:F:G:H:i',我只想在html中用knockout if检查这个字符串。 模型 看法 在这里我们假设key是一个字符串,我想检查key是否包含a,然后做一些,如果B,然后做一些其他的事情。如何通过敲除来实现它。有两种检查方法。第一种是您可以像这样直接检查绑定中是否包含密钥:- <!-- ko if: key().contains('A') --> &l

我正在使用knockout,我有一个html页面,我想在其中检查字符串的值。 就像我有一个字符串'A:B:C:D:F:G:H:i',我只想在html中用knockout if检查这个字符串。 模型

看法



在这里我们假设key是一个字符串,我想检查key是否包含a,然后做一些,如果B,然后做一些其他的事情。如何通过敲除来实现它。

有两种检查方法。第一种是您可以像这样直接检查绑定中是否包含密钥:-

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

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

包含一个:
不包含:

我刚刚看到这个问题。就连我也遇到了同样的问题。我找到了一个解决办法,它可能会帮助别人

 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 -->


请再次检查我的问题,我为您修改了它。我有一个可观察的val,我需要在我的视图中进行检查。那么如何实现它呢?它工作得很好。您的密钥同时包含A和B,因此它同时显示两个复选框。您是否尝试像开关盒一样实现它?
  <!-- ko if: keyCheck -->
      Contains A:<input type="checkbox" checked="checked" />
  <!-- /ko -->
  <!-- ko ifnot: keyCheck -->
      Not Contains A:<input type="checkbox" value="ASM" />
  <!-- /ko -->
 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 -->