Javascript 按Angular.js中的两个字段过滤

Javascript 按Angular.js中的两个字段过滤,javascript,angularjs,Javascript,Angularjs,我有一个代码,可以过滤字段并标记与输入搜索相关的单词。我需要它不仅通过标题,而且通过名字来过滤我。如何修改代码,以便在编写时过滤标题和名称 <li ng-repeat="item in data | filter:search.title" ng-bind-html="item.title | highlight:search.title"> </li> 您可以通过在对象中收集两个或多个选项来发送它们以进行筛选: <li ng-repeat="item

我有一个代码,可以过滤字段并标记与输入搜索相关的单词。我需要它不仅通过标题,而且通过名字来过滤我。如何修改代码,以便在编写时过滤标题和名称

<li ng-repeat="item in data | filter:search.title"
   ng-bind-html="item.title | highlight:search.title">
</li>

  • 您可以通过在对象中收集两个或多个选项来发送它们以进行筛选:

    <li ng-repeat="item in data | filter:{title:search.title,name:search.name}"
       ng-bind-html="item.title | highlight:search.title">
    </li>
    
  • 建议在控制器中使用过滤器,以避免其上的$digest循环

    
    
    <div ng-app="myApp" ng-controller="myCtrl">
          <input type="text" placeholder="Search" ng-model="search.title">
      <ul>
          <!-- with filter -->
           <li ng-repeat="item in data | filter:{title:search.title,name:search.name}"
       ng-bind-html="item.title | highlight:search.title">
             {{item}}
          </li>
          </ul>
    </div>
    
    • {{item}}
    脚本代码如下:

        var app = angular.module("myApp", []);
    app.controller("myCtrl", function($scope) {
        $scope.data = [
                { title: "Bad",name:'bill' },
                { title: "Good",name:'Goe' },
                { title: "Great",name:'Brad' },
                { title: "Cool",name:'yan' },
                { title: "Excellent",name:'mikle' },
                { title: "Awesome",name:'mosa' },
                { title: "Horrible",name:'morteza' },
              ]
    
    }).filter('highlight', function($sce) {
        return function(text, phrase) {
          if (phrase) text = text.replace(new RegExp('('+phrase+')', 'gi'),
            '<span class="highlighted">$1</span>')
    
          return $sce.trustAsHtml(text)
        }
      })
    
    var-app=angular.module(“myApp”,[]);
    app.controller(“myCtrl”,函数($scope){
    $scope.data=[
    {标题:“坏”,名字:“比尔”},
    {标题:“好”,名字:'Goe'},
    {标题:“伟大”,名字:'Brad'},
    {标题:“酷”,名字:'yan'},
    {标题:“优秀”,名称:'mikle'},
    {标题:“棒极了”,名字:'mosa'},
    {标题:“恐怖”,名字:'morteza'},
    ]
    }).filter('highlight',函数($sce){
    返回函数(文本、短语){
    如果(短语)text=text.replace(新的RegExp(“(“+短语+”)”,“gi”),
    '$1')
    返回$sce.trustAsHtml(文本)
    }
    })
    
    我在你的代码中的任何地方都找不到
    name
    我仍然找不到
    name
    。@marainesparnisari看我如何在同一行上显示这两个元素?你可以像这样绑定{{{item.title-item.name}我修改链接。我的问题还在继续。这将是完美的,但我也需要过滤器来处理名称。