J'ai ce code.
JavaScript
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.nameFilter = '';
$scope.contacts = [
{name: 'GHI'},
{name: 'DEF'},
{name: 'ABC'},
{name: 'JKL'}
];
}
Vue
<div ng-controller="MyCtrl">
<div><input type="text" ng-model="nameFilter" placeholder="Search..." /></div>
<p ng-repeat="contact in contacts track by $index | filter: nameFilter | orderBy: name">{{ contact.name }}</p>
</div>
Je ne sais pas pourquoi la commande ne fonctionne pas et pourquoi le filtre ne fonctionne pas.
À une autre question, j'ai lu quelque chose sur quelque chose que les objets ne peuvent pas être filtrés ou ordonnés. Mais j'ai un tableau des objets ci-dessus. En outre, cela devrait fonctionner !?
Quel est le problème?
Pour utiliser le suivi avec des filtres, le suivi par expression doit être ajouté après le filtre.
<p ng-repeat="contact in contacts | orderBy: 'name' | filter: nameFilter track by $index">{{ contact.name }}</p>
Voici le travail fiddle
vous devez changer le code en suivant
<div ng-controller="MyCtrl">
<div><input type="text" ng-model="nameFilter" placeholder="Search..." /></div>
<p ng-repeat="contact in contacts | orderBy: name | filter: nameFilter track by $index ">{{ contact.name }}</p>
</div>