2016-05-23 4 views

Antwort

8

Filter können im HTML-Template-Binding {{myString | }}, aber um im Browser darauf zugreifen zu können, haben wir eine ausgezeichnete Option. Bedenken Sie:

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

einen Filter realisieren kann über den $filter Dienst aufgerufen werden, können Sie damit den Zugang, rufen Sie und testen Sie die capitalize Filter auf diese Weise:

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

Das Ergebnis in der Konsole? "Capitalization Test"

Was ist mit einem Filter mit mehr als einem Eingang? Sie einfach den Parameter hinzufügen, zum Beispiel, wenn die capitalize Filter einen zweiten boolean Parameter hatten nur Kapitalisierung auf das erste Wort zu beschränken:

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

ODER

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

Ein großes Lob an diesen SO Artikel und verwandte Blogeinträge zum Posten beim Zugriff auf Dienste von der Konsole: access service from console.

+1

Dies funktioniert nur, wenn der Debug-Modus aktiviert ist. Wenn es deaktiviert ist, können Sie angular.reloadWithDebugInfo() ausführen. – Casey

+0

@Casey gut zu wissen, danke für den Tipp! – ryanm

+0

@ryanm Vielen Dank dafür. Es hat wirklich viel Zeit gespart und war so ein einfacher Tipp. – crackerplace