2016-05-23 17 views

risposta

8

I filtri possono essere chiamati in associazione modello HTML {{myString | maiuscola}}, ma per accedervi nel browser abbiamo un'opzione eccellente. Considerate questo:

$filter('filter')(array, expression, comparator) per Angular $filter documentation

Realizzando un filtro può essere chiamato tramite il servizio $filter, è possibile così l'accesso, chiamare e testare il filtro capitalize in questo modo:

angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test')

Il risultato nella console? "Capitalization Test"

Che dire di un filtro con più di un input? Basta aggiungere il parametro, ad esempio, se il filtro capitalize aveva un secondo parametro booleano per limitare capitalizzazione alla prima parola unica:

angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test', true)

O

angular.element(document.body).injector().get('$filter')('capitalize').apply(null, ['capitalization test', true])

Complimenti a questo SO articolo e post di blog correlati per la pubblicazione sull'accesso ai servizi dalla console: access service from console.

+1

Questo funziona solo se la modalità di debug è abilitata. Se è disabilitato, puoi fare angular.reloadWithDebugInfo(). – Casey

+0

@Casey bene a sapersi, grazie per il suggerimento! – ryanm

+0

@ryanm Grazie mille per questo.Ha davvero risparmiato un sacco di tempo ed è stato un consiglio così facile. – crackerplace

Problemi correlati