Cómo filtrar una lista en AngularJS usando varios enlaces

He estado repasando muchos tutoriales sobre cómo filtrar una lista y no puedo encontrar un ejemplo para mi simple caso de uso.

Tengo varios botones como

<a href="#" id="filter-by-name">Name</a>
<a href="#" id="filter-by-age">Age</a>
<a href="#" id="filter-by-height">Height</a>

yo tengovar persons = {...}&nbsp;Objeto y lo muestro como

<div ng-repeat="person in persons">
  {{person.name...}}
</div>

¿Cómo creo un filtro para que cada vez que haga clic en uno de los botones se filtre la lista?

He intentado añadirng-repeat="person in persons | filter:filterPersons"&nbsp;y en el lado del guión escribir:

$scope.filterPersons(person){
  if (person.name == "John")
    return person;
}

pero esto es solo un caso de uso (¿cómo puedo filtrar por otro nombre?), en otras palabras,¿Cómo conecto los enlaces al filtro?