2016-04-06 4 views
0

itemSearch Wie Gruppe erhalten {Objekt}, wenn ein Objekt mit [array] -Wert itemSearch, im mit _.lodash/unterstreichtWie Gruppenobjekt erhält, wenn der Wert der Immobilie gleich

{ 
"tileRecords" : [ 
{ 
"tileName"  : "Fama Brown", 
"tileGroup"  : ["Polished", "Matt", "Rought"], 
"tileDetails" : 
     { 
     "tileSize"   : "60x60", 
     "tileType"   : "Polished" 
     } 
}, 
{ 
"tileName"  : "Fama Nero",  
"tileGroup"  : ["Polished", "Matt", "Rought"], 
"tileDetails" : 
     { 
     "tileSize"   : "60x60", 
     "tileType"   : "Polished" 
     } 
}, 
{ 
"tileName"  : "Dolce Beige", 
"tileGroup"  : ["Italian", "Matt", "Rought"], 
"tileDetails" : 
     { 
     "tileSize"   : "60x60", 
     "tileType"   : "Polished" 
     } 
} 
] 
} 

Wie kann ich das Objekt tileName: Fama Brown und Fama Nero mit einem Filter bei tileGroup mit dem Wert "Polished" erhalten?

Da diese Gruppe den einzigen Wert von poliert hat.

Antwort

0

können Sie angular filter anstelle von lodash die nach vorne sehr gerade zu implementieren, Wenn Sie es mit ng-repeat verwenden, versuchen Sie unten,

<div ng-repeat="tile in tiles.tileRecords | pick: tileGroupFilter"> 
    {{ tile.tileName }} 
</div> 

Und in Ihrem Controller

$scope.tiles = { 
         "tileRecords" : [ 
          { 
          "tileName"  : "Fama Brown", 
          "tileGroup"  : ["Polished", "Matt", "Rought"], 
          "tileDetails" : 
           { 
            "tileSize"   : "60x60", 
            "tileType"   : "Polished" 
           } 
          }, 
          { 
           "tileName"  : "Fama Nero",  
           "tileGroup"  : ["Polished", "Matt", "Rought"], 
           "tileDetails" : 
            { 
             "tileSize"   : "60x60", 
             "tileType"   : "Polished" 
            } 
          }, 
          { 
           "tileName"  : "Dolce Beige", 
           "tileGroup"  : ["Italian", "Matt", "Rought"], 
           "tileDetails" : 
            { 
             "tileSize"   : "60x60", 
             "tileType"   : "Polished" 
            } 
          } 
         ] 
        }; 


$scope.tileGroupFilter = function(elm) { 
    return (elem.tileGroup.indexOf("Polished") > 0) ; 
} 
+0

Was ist Auswahl: im Filter? und wie funktioniert es? Sory für hier noch neu in eckigen –

Verwandte Themen