【问题标题】:Angularjs Filter not filtering for exact matchAngularjs过滤器不过滤精确匹配
【发布时间】:2014-11-25 08:44:40
【问题描述】:

当我比较 abcdabcd 时,下面的代码会抛出警报匹配,当我比较 abcd 时会发出警报 mismatch > 与 abdc 。奇怪的是,当我将 abcdabc 进行比较时,它显示的是 ma​​tch 而不是 mismatch。 我究竟做错了什么。我的问题陈述是比较输入的代码是否存在于列表中。

var enteredCode=$scope.enteredCode;
      var code= $filter('filter')( $scope.codeList, enteredCode);
      if(code.length>0){
         alert("element present");
      } else{ 
         alert("element not present"); 
      }

请让我知道我做错了什么。

【问题讨论】:

  • 代码不正确。您是否在代码中的警报中错过了结束 ) 或者这是一个粘贴错误?
  • @JaredReeves 你在哪里说 OP 缺少右括号?我在该代码中看不到任何不正确的语法。
  • 在警报中它们都是警报("something"
  • 我正要编辑代码,但不确定是粘贴错误还是在 OP 源代码中
  • @JaredReeves 我以为你是说 $filter 函数中缺少括号,我的错!

标签: angularjs filter angular-filters


【解决方案1】:

为了只获得完全匹配,您应该将$filter filtercomparator 参数设置为true,如下所示:

var code= $filter('filter')( $scope.codeList, enteredCode, true);

Example

【讨论】:

  • @user2375298 没问题,慢慢来,但你也可以在问题的例子中尝试一下;)
猜你喜欢
  • 1970-01-01
  • 2016-10-20
  • 1970-01-01
  • 1970-01-01
  • 2014-03-16
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多