Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何按';关键词';用angular.js?_Angularjs_Search_Filter - Fatal编程技术网

Angularjs 如何按';关键词';用angular.js?

Angularjs 如何按';关键词';用angular.js?,angularjs,search,filter,Angularjs,Search,Filter,我正试图用基本的HTML&angular.js创建一个健壮的过滤系统,到目前为止,在这里一些善良的人的帮助下,我得到了以下结果: 它工作得很好,唯一的问题是如果你向后键入一些内容,例如,如果用户搜索“墨西哥玉米卷”甚至“墨西哥玉米卷”,你将不会得到任何结果 有没有一种方法可以将过滤器更多地用作关键字过滤器而不是字符串过滤器?您必须迭代搜索词中每个单词的每个属性。这项工作: $scope.search = function(user) { var match = true; $scope

我正试图用基本的HTML&angular.js创建一个健壮的过滤系统,到目前为止,在这里一些善良的人的帮助下,我得到了以下结果:

它工作得很好,唯一的问题是如果你向后键入一些内容,例如,如果用户搜索“墨西哥玉米卷”甚至“墨西哥玉米卷”,你将不会得到任何结果


有没有一种方法可以将过滤器更多地用作关键字过滤器而不是字符串过滤器?

您必须迭代搜索词中每个单词的每个属性。这项工作:

$scope.search = function(user) {
  var match = true;
  $scope.query.split(" ").forEach(function(word) {
    if (match === true) {
      var wordMatch = false;
      for (var prop in user) {
        if (user.hasOwnProperty(prop)) {
          if(user[prop].toLowerCase().indexOf(word.toLowerCase()) > -1) wordMatch = true;
        }
      }
    }
    match = wordMatch;
  });
  return match
}

不确定您是否正在寻找其他人的筛选器代码,但要回答总体的一般问题,可以创建自定义筛选器。这不是一个有角度的问题,这是一个搜索问题。你应该重写并重新标记它。谢谢,我已经编辑了标记并重写了。