Cochez/ Décochez Toutes les cases - AngularJS ng-repeat

J'ai une structure qui ressemble à ceci: http://jsfiddle.net/deeptechtons/TKVH6/

<div>
<ul ng-controller="checkboxController">
    <li>Check All
        <input type="checkbox" ng-model="selectedAll" ng-click="checkAll()" />
    </li>
    <li ng-repeat="item in Items">
        <label>{{item.Name}}
            <input type="checkbox" ng-model="item.Selected" />
        </label>
    </li>
</ul>
</div>

angular.module("CheckAllModule", [])
.controller("checkboxController", function checkboxController($scope) {


$scope.Items = [{
    Name: "Item one"
}, {
    Name: "Item two"
}, {
    Name: "Item three"
}];
$scope.checkAll = function () {
    if ($scope.selectedAll) {
        $scope.selectedAll = true;
    } else {
        $scope.selectedAll = false;
    }
    angular.forEach($scope.Items, function (item) {
        item.Selected = $scope.selectedAll;
    });

};


});

Lors de la vérification de tous est sélectionné ou désélectionné, toutes les autres cases sont sélectionnés. Mais quand "Check All" est sélectionné, et je décochez l'un des éléments, je veux "Vérifier Tout" pour être désélectionnés.

Merci d'avance!

(PS: Merci à deeptechtons pour le JSFiddle)

Celui qui downvoted la question, pourriez-vous s'il vous plaît laissez-moi savoir la raison? Il serait utile à l'avenir. Merci!

OriginalL'auteur Ramya | 2015-06-23