angularjs 过滤器 |不过滤所有对象属性
angularjs filter | do not filter all object properties
一个简单的“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>
当我在输入框中搜索时,它会搜索 items
数组中对象的所有属性,包括 position
和 price
,即使只有 name
属性 重复。 IE。
如果我搜索 2,它会 returns 与 item 1
、item 2
和 item 3
。但我只想要第 2 项。如何将搜索锁定到对象的可见属性?
将过滤器更改为:
<li ng-repeat="item in items | filter: {name: q}">
{{item.name}}
</li>
这是一个plnkr
一个简单的“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>
当我在输入框中搜索时,它会搜索 items
数组中对象的所有属性,包括 position
和 price
,即使只有 name
属性 重复。 IE。
如果我搜索 2,它会 returns 与 item 1
、item 2
和 item 3
。但我只想要第 2 项。如何将搜索锁定到对象的可见属性?
将过滤器更改为:
<li ng-repeat="item in items | filter: {name: q}">
{{item.name}}
</li>
这是一个plnkr