如何从浏览器控制台访问和测试AngularJS过滤器?

时间:2016-05-23 19:48:23

标签: angularjs angularjs-service angularjs-filter

给定一个测试过滤器,说这个'capitalize' filter会将每个单词的第一个字母大写:

$filter('filter')(array, expression, comparator)

如何从浏览器的JavaScript控制台测试此过滤器?

1 个答案:

答案 0 :(得分:9)

可以在HTML模板绑定中调用过滤器{{myString |大写}},但要在浏览器中访问它,我们有一个很好的选择。考虑一下:

Angular $filter documentation

$filter

可以通过capitalize服务调用过滤器,因此您可以通过这种方式访问​​,调用和测试angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test')过滤器:

"Capitalization Test"

控制台中的结果? capitalize

具有多个输入的过滤器怎么样?只需添加参数,例如,如果angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test', true)过滤器具有第二个布尔参数,则仅限大写到第一个单词:

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

OR

DECLARE @string VARCHAR(200) = 'Bob,Joe,Mary,Sam,,,,,' SELECT LEFT(@string, LEN(@string) - PATINDEX('%[^,]%', REVERSE(@string))+1)

赞赏这篇SO文章以及相关博客条目,以便发布从控制台访问服务:access service from console