当前位置: 首页 > 面试题库 >

如何在AngularJs中将Regex与ng-repeat结合使用?

孙经艺
2023-03-14
问题内容

我想在ng-repeat中使用正则表达式。我尝试了以下代码,但无法正常工作。

<div ng-repeat="user in users | filter:{'type':/^c5$/}"></div>

我有用户数组,我只想显示类型为c5的用户。

如果我用

filter:{'type':'c5'}

然后它也以“ ac5x”类型显示用户,因为它包含c5。

我怎么解决这个问题?也许还有另一种解决方案。

谢谢!


问题答案:

Tosh提到的内容应该对您有用!

如果您发现自己想更频繁地使用正则表达式进行过滤,则可以创建一个自定义过滤器。像这样的小提琴使您可以指定一个字段来检查正则表达式:

var myApp = angular.module('myApp', []);
myApp.filter('regex', function() {
  return function(input, field, regex) {
      var patt = new RegExp(regex);      
      var out = [];
      for (var i = 0; i < input.length; i++){
          if(patt.test(input[i][field]))
              out.push(input[i]);
      }      
    return out;
  };
});

像这样使用where 'type'表示要检查的字段(在这种情况下为type字段):

<div ng-repeat="user in users | regex:'type':'^c5$'"></div>


 类似资料:
  • 问题内容: 我正在尝试使用angular加载div以提供给同位素以进行布局。由于某种原因,我无法使用ng-repeat创建div。当我做类似的事情时,它可以正常工作: [agg.html] [controlers.js] 虽然上面的方法可以正常工作,但是当我尝试从角度使用ng- repeat时,div似乎变得不可见(它们在dom中,但我看不到它们)。我试过调用isotope(’reloadItem

  • 问题内容: 我有一个列表,可以使用ng- repeat进行迭代:用户可以使用上箭头和下箭头图标与列表项进行交互,单击它们后,我只需更改“列表”中元素的顺序”,这就是角度建议更改模型并自动将更改反映在视图中的原因。 moveUp中的逻辑:- 上面的代码完全可以正常工作,向下移动项目的逻辑与此类似。但是我要解决的问题是如何放置动画?我知道angular会自行处理绑定视图和模型的问题,但是当按下向下箭头

  • 问题内容: 我知道我们可以轻松地对json对象或数组使用 ng-repeat ,例如: 但是如何将ng-repeat用于字典,例如: 我想在用户字典中使用它: 可能吗?。如果是,我该如何在AngularJs中做到这一点? 我的问题的示例:在C#中,我们定义如下字典: 是否有内置函数可以像c#中那样从字典返回值? 问题答案: 您可以使用 请参阅ngRepeat文档。示例:http://jsfiddl

  • 问题内容: 我正在尝试做类似的事情: AngularJs部分: 但是不知何故,它向我展示了所有物品。如何筛选(键,值)? 问题答案: Angular 过滤器只能通过angular的API应用于数组,而不能应用于对象- “从数组中选择项的子集,并将其作为新数组返回。” 您在此处有两个选择: 1)移至数组或 -2)预过滤项目,如下所示: 并在控制器上: jsfiddle :http : //jsfid

  • 问题内容: 在我的控制器中,我有如下数据: 现在,此数据是包含键和值的字典。 我可以使用模板中的属性。有什么办法可以遍历键并将它们显示在表格中吗? 数据是这样的 问题答案: 怎么样: 该方法在docs中列出:https : //docs.angularjs.org/api/ng/directive/ngRepeat

  • 问题内容: 我想问你是否可以帮我这个忙。 我在这里用我的问题创建了一个jsfiddle 。我需要使用ng-model =“ my _ {{$ index}}”方式在ng-repeater中动态生成一些带有ng-model的输入。 在jsfiddle中,您可以看到一切正常,直到我尝试动态生成它为止。 HTML将是: 还有javascript … 你能给我个主意吗? 非常感谢。 问题答案: 它能解决您