2016-05-23 3 views

Répondre

8

Les filtres peuvent être appelés dans la liaison de modèle HTML {{myString | capitaliser}}, mais pour y accéder dans le navigateur, nous avons une excellente option. Considérez ceci:

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

La réalisation d'un filtre peut être appelé via le service $filter, vous pouvez ainsi accéder, appeler et tester le filtre capitalize cette façon:

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

Le résultat dans la console? "Capitalization Test"

Qu'en est-il d'un filtre avec plus d'une entrée? Il suffit d'ajouter le paramètre, par exemple si le filtre capitalize avait un second paramètre booléen pour limiter la capitalisation au premier mot seulement:

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

OU

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

Kudos à ce SO article et entrées de blog liées à la publication sur l'accès aux services depuis la console: access service from console.

+1

Cela ne fonctionnera que si le mode de débogage est activé. Si elle est désactivée, vous pouvez faire angular.reloadWithDebugInfo(). – Casey

+0

@Casey bon à savoir, merci pour le pourboire! – ryanm

+0

@ryanm Merci beaucoup pour cela.Il a vraiment sauvé beaucoup de mon temps et était un conseil si facile. – crackerplace