Search code examples
angularjsangularjs-ng-repeatangularjs-filter

ng-repeat :filter by single field


I have an array of products that I'm repeating over using ng-repeat and am using

<div ng-repeat="product in products | filter:by_colour"> 

to filter these products by colour. The filter is working but if the product name / description etc contains the colour then the product remains after the filter is applied.

How do I set the filter to only apply to the colour field of my array rather than every field?


Solution

  • See the example on the filter page. Use an object, and set the color in the color property:

    Search by color: <input type="text" ng-model="search.color">
    <div ng-repeat="product in products | filter:search">