2

Was ist die beste Implementierung für ng-wiederholen Sie einige Elemente aus Array mit Abhängigkeit für die Eigenschaft (wie: hidden: true).wie ng-repeat Werte für Ergebnis von Filter

var items = [ 
    { 
     label: 'Fist item', 
    }, 
    { 
     label: 'Second item', 
     hidden: true 
    }, 
    { 
     label: 'Third item', 
    }, 
] 

Für Ergebnis mag ich Faust & dritten Artikel zu sehen, die nicht über Eigentum versteckt.

Antwort

3

Sie können den filter Filter verwenden, der as it says Ihr Array nach den Bedingungen filtert, die Sie ihm geben.

<div ng-repeat="item in items | filter:{hidden:false}"> 
    ... 
</div> 

die documentation für mehr verfügbaren Filterwerte lesen.

würde Ein weiteres Beispiel eine Funktion in dem Umfang zu nutzen, wenn Sie eine bessere Manipulation benötigen:

$scope.shouldFilter = function(item) { 
    return item.hidden === false || !('hidden' in item); 
} 

<div ng-repeat="item in items | filter:shouldFilter"> 
    ... 
</div> 
+0

Es wird versteckte Gegenstände zeigen, sollte eigentlich versteckt nicht –

+0

verwenden Dann gezeigt bekommen '{versteckt: falsch}'. – casraf

+0

In diesem Fall müssen wir in jedem Element 'hidden: false' hinzufügen. –