ng-repeat track par et de filtre et de tri ne fonctionne pas

J'ai ce code.

http://jsfiddle.net/0tgL7u6e/

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 à propos de quelque chose que les objets ne peuvent pas être filtrés ou commandés. Mais j'ai un tableau des objets ci-dessus. Aussi, il devrait fonctionner!?

Quel est le problème?

OriginalL'auteur PatrickB | 2015-04-13