Sto tentando di utilizzare i filtri all'interno di una direttiva AngularJS ma non sono sicuro di come farlo. Da alcune informazioni sulla mailing list sembra che dovresti essere in grado di iniettare $ filter e usarlo, ma non sono sicuro di come/dove richiamarlo.Uso dei filtri con le direttive in AngularJS
mia direttiva attualmente si presenta così:
myApp.directive('fancyDisplay', ['$filter', function($filter) {
return {
scope: {
'fancyDisplay': '='
},
template: "<div ng-repeat='datum in fancyDisplay | filter:tagFilter'>{{datum.name}}</div>"
};
}]);
Anche se il filter:tagFilter
non funziona. Come devo filtrare i miei dati nella direttiva?
JSfiddle disponibile al http://jsfiddle.net/VDLqa/4/ Grazie in anticipo per eventuali risposte.
Hmm ... come estenderlo a più filtri? – jgm
Definire più attrs: '
' e sulla direttiva 'scope: {fancyDisplay: '=', filter1: '=', filter2: '='}'. Nota: li ho chiamati 'filter1' e 'filter2' ma puoi chiamarli come vuoi. Inoltre, se inizi ad avere molti filtri, ti consiglio di pre-filtrare i dati di 'ng-model' prima di inviarli alla direttiva. – bmleiteIl pre-filtro è interessante perché è da lì che ho iniziato. Ho provato questo sulla direttiva stessa ma non ha funzionato; come cambierei il violino per raggiungere questo? – jgm