/ Il filtro / AngularJS $ per i campi nidificati non funziona come previsto: angularjs, angularjs-filter

Il filtro AngularJS $ per i campi nidificati non funziona come previsto: angularjs, angularjs-filter

Voglio filtrare gli oggetti del mio negozio in base al loro nome. Ma il campo "name" è nidificato come:

name: {
"en": "name english",
"tr": "name turkish"
}

e params.filter () è: name.en: "ita"

Se filtrassi così:

$filter("filter")($scope.shops, params.filter())

il risultato è un array vuoto.

Dove mi sbaglio?

risposte:

0 per risposta № 1

Il filtro angolare funziona su array, non su oggetti. Per fare ciò di cui hai bisogno, purché tu stia facendo in javascript, puoi farlo in questo modo

$scope.shops[params.filter()];


0 per risposta № 2

Credo che la tua sintassi non sia corretta, prova a fare qualcosa del genere.

$ filter ("filter") ($ scope.shops, {name: en}) [0];

Questo dovrebbe restituire il primo valore nel tuo oggetto.