gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:58:29 25 4
gpt4 key购买 nike

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

return function (input) {
return (!!input) ? input.replace(/([^\W_]+[^\s-]*) */g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}) : '';
}

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

最佳答案

过滤器可以在 HTML 模板绑定(bind)中调用 {{myString |大写}},但要在浏览器中访问它,我们有一个很好的选择。考虑一下:
$filter('filter')(array, expression, comparator)根据 Angular $filter documentation

可以通过 $filter 调用实现过滤器服务,因此您可以访问、调用和测试 capitalize以这种方式过滤:
angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test')
控制台中的结果? "Capitalization Test"
具有多个输入的过滤器怎么样?只需添加参数,例如 capitalize filter 有第二个 bool 参数,用于将大写限制为仅第一个单词:
angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test', true)
或者
angular.element(document.body).injector().get('$filter')('capitalize').apply(null, ['capitalization test', true])
感谢这篇 SO 文章和相关博客条目,用于发布从控制台访问服务的帖子:access service from console .

关于angularjs - 如何从浏览器控制台访问和测试 AngularJS 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37399331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com