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

在AngularJS中按多个特定模型属性进行过滤(OR关系)

慕晨
2023-03-14
问题内容
在这里看看示例: http :
//docs.html" target="_blank">angularjs.org/api/ng.filter
filter

您可以使用来按电话的任何属性进行<input ng-model="search">搜索,也可以使用来按名称进行搜索<input ng- model="search.name">,然后按名称对结果进行适当过滤(按预期方式输入电话号码不会返回任何结果)。

比方说,我有一个“名称”属性,“电话”属性,一个“秘密”性质的模型,我怎么会去通过过滤 在“名称”和“电话”属性和 没有
“秘密”属性?因此,从本质上讲,用户可以键入姓名或电话号码,并且ng- repeat可以正确过滤,但是即使用户键入的值等于“秘密”值的一部分,也不会返回任何内容。

谢谢。


问题答案:

这是the 子

新的代码更整洁的代码,查询和搜索列表项都不区分大小写

主要思想是创建一个过滤器功能来实现此目的。

来自官方文件

函数:谓词函数可用于编写任意过滤器。为数组的每个元素调用该函数。最终结果是谓词为其返回true的那些元素的数组。

<input ng-model="query">

<tr ng-repeat="smartphone in smartphones | filter: search ">



$scope.search = function(item) {
    if (!$scope.query || (item.brand.toLowerCase().indexOf($scope.query) != -1) || (item.model.toLowerCase().indexOf($scope.query.toLowerCase()) != -1) ){
        return true;
    }
    return false;
};

更新资料

有些人可能对现实世界中的性能有所顾虑,这是正确的。

在现实世界中,我们可能会从控制器中进行这种过滤。

这是显示如何做的详细信息。

简而言之,我们添加ng-change了用于监视新搜索变化的输入

然后触发过滤功能。



 类似资料:
  • 问题内容: 我在SQLAlchemy上没有太多经验,并且有一个我无法解决的问题。我尝试搜索,并且尝试了很多代码。这是我的课程(简化为最重要的代码): 我想查询所有母亲的phenoscore为(例如)的患者 如前所述,我尝试了很多代码,但我不明白。在我看来,合乎逻辑的解决方案是 因为,您可以在输出时访问每个元素,但是此代码不执行此操作。 是否有(直接)按关系的属性进行过滤的可能性(无需编写SQL语句

  • 问题内容: 我试图在AngularJS中创建一个自定义过滤器,该过滤器将通过特定属性的值过滤对象列表。在这种情况下,我要按“极性”属性(“正”,“中性”,“负”的可能值)进行过滤。 这是我没有过滤器的工作代码: HTML: 这是JSON格式的“ $ scope.tweets”数组: 我可以提出的最佳过滤器如下: 此方法返回一个空数组。从“ console.log(polarity)”语句中不会打印

  • 问题内容: 第一次在这里发布问题,如果违反任何Stack Overflow礼节,请提前道歉!:-) 我第一次去一些AngularJS,以便为我的老板创建概念证明。这是一个基本的租车列表应用程序,主列中有结果列表,侧面有一个过滤器面板。我设法从JSON对象中提取结果,并应用一个基本的过滤器,如下所示; 筛选器 …我还无法解决的一件事是如何添加一组复选框以应用过滤器,例如“汽车类型”,其中包含“迷你”

  • 我的情况: 我有django模型主机和模型包(名称和版本),其中有FK主机模型。现在我需要过滤所有主机,其中有包的特定名称和特定版本…因此,类似这样的操作非常简单,但是我需要对几个包重复这个操作,这样我就可以得到一个版本中包含每个希望的包的主机。 我尝试了两个方法,但都失败了,第一个是在for循环中应用filter,它很丑,但很有效,尽管我很高兴,我发现这不是一个稳定的解决方案,我接下来应用的一些

  • 问题内容: 我目前正在开发第一个Loopbackjs项目,并且面临着一个看似简单的问题:假设我有一个模型“ Post”和一个模型“ Tag”。帖子具有且属于许多标签。 现在,我需要列出所有带有特定标签的帖子。我只是想不通如何使用Loopback创建查询来实现此目的。我以为它会像这样工作,但不会: 我将不胜感激任何帮助。 问题答案: 对某些相关属性进行过滤并不像应该那么容易。有一个未完成的拉取请求,

  • 问题内容: 如果我有一个带有对象作为属性值的复杂对象,如何按嵌套的属性之一进行过滤? 可以使用OOB ng-repeat过滤器完成此操作吗? 数据 ngRepeat 问题答案: 您需要传入参数以过滤: 柱塞示例