Javascript angularjs过滤器|不过滤所有对象属性

Javascript angularjs过滤器|不过滤所有对象属性,javascript,angularjs,object,filter,ng-repeat,Javascript,Angularjs,Object,Filter,Ng Repeat,一个简单的“angularjs”过滤器实现如下所示: <!DOCTYPE html> <html ng-app="app"> <head> <title>angularjs</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script> <scri

一个简单的“angularjs”过滤器实现如下所示:

<!DOCTYPE html>
<html ng-app="app">
<head>
    <title>angularjs</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="js/app.js"></script>
</head>
<body>
    <input type="text" name="query" value="" placeholder="query" ng-model="q">
    <ol ng-controller="ItemsController">
        <li ng-repeat="item in items | filter: q">
            {{item.name}}
        </li>
    </ol>
</body>
<script type="text/javascript">
    'use strict';
    (function() {
      var app = angular.module('app', []);

      app.value('items', [
        {name: 'Item 3', position: 3, color: 'red', price: 2.75},
        {name: 'Item 1', position: 1, color: 'red', price: 0.92},
        {name: 'Item 4', position: 4, color: 'blue', price: 3.09},
        {name: 'Item 2', position: 2, color: 'red', price: 1.95}
      ]);

      app.controller('ItemsController', function($scope, items) {
        $scope.items = items;
      });
    })();
</script>
</html>

安格拉斯
  • {{item.name}
  • "严格使用",; (功能(){ var-app=angular.module('app',[]); 应用价值('项目'[ {名称:'项目3',位置:3,颜色:'红色',价格:2.75}, {名称:“项目1”,位置:1,颜色:“红色”,价格:0.92}, {名称:“第4项”,位置:4,颜色:“蓝色”,价格:3.09}, {名称:'项目2',位置:2,颜色:'红色',价格:1.95} ]); app.controller('ItemsController',函数($scope,items){ $scope.items=项目; }); })();
    当我在输入框中搜索时,它搜索
    项目
    数组中对象的所有属性,包括
    位置
    价格
    ,即使只有
    名称
    属性重复。即
    如果我搜索2,它将返回
    项目1
    项目2
    项目3
    。但我只想要第2项。如何将搜索锁定为仅对象的可见属性?

    将过滤器更改为:

    <li ng-repeat="item in items | filter: {name: q}">
        {{item.name}}
    </li>
    
  • {{item.name}
  • 这里有一个