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.
Cela ne fonctionnera que si le mode de débogage est activé. Si elle est désactivée, vous pouvez faire angular.reloadWithDebugInfo(). – Casey
@Casey bon à savoir, merci pour le pourboire! – ryanm
@ryanm Merci beaucoup pour cela.Il a vraiment sauvé beaucoup de mon temps et était un conseil si facile. – crackerplace