Объект:
Object
$$hashKey: "object:25"
id: 1
category: "Fruit"
name: "Apple"
color: "red"
__proto__: Object
Javascript (coffescript):
$scope.fruits = [
{id: 1, category: "Fruit", name: "Apple", color: "red"}
]
Html:
<input type="search" ng-model="fruitSearch"/>
<div ng-repeat="i in filtro = (fruits | scFilter:fruitSearch)">
<div>{{i.id}}</div>
<div>{{i.category}}</div>
<div>{{i.name}}</div>
<div>{{i.color}}</div>
</div>
код фильтра (JS/кофе)
.filter "scFilter",() ->
(collection, search) ->
if search
regexp = createAccentRegexp(search)
doesMatch = (txt) ->
(''+txt).match(regexp)
collection.filter (el) ->
if typeof el == 'object'
return true for att, value of el when (typeof value == 'string') && doesMatch(value)
doesMatch(el)
false
else
collection
Так что я хочу здесь фильтровать только отображаемые элементы (id, category, name и color), но по какой-то причине, когда я набираю 25 на входе, объект все еще появляется из-за его $$ haskKey.
Пожалуйста, включите ваш код фильтра или описание/ссылку/документацию, если вы используете ранее существовавший из библиотеки. –
Добавлен код фильтра. – Reeenatu