Vérifiez la taille de l'objet dans le modèle AngularJS, en vous trompant?

Je veux parcourir myObject dans un AngularJS modèle

Cela ne fonctionne pas :

<ul ng-if="Object.keys(myObject).length">
    <li ng-repeat="(key, val) in myObject">
        Value at key {{ key }} is: {{ val }}
    </li>
</ul>

Rien ne s'affiche, je soupçonne en raison $scope.Object n'est pas défini.

Au lieu de cela, j'ai fait ceci :

Dans le contrôleur/directive :

$scope.sizeOf = function(obj) {
    return Object.keys(obj).length;
};

Dans le modèle :

<ul ng-if="sizeOf(myObject)">
    <li ng-repeat="(key, val) in myObject">
        Value at key {{ key }} is: {{ val }}
    </li>
</ul>

Je n'aime pas cette solution en raison de la duplication de cette fonction dans chaque contrôleur ou de la directive $scope.

Voyez-vous une solution plus propre?

Merci !

source d'informationauteur Pandaiolo | 2014-03-27