AngularJS:扩展内置过滤器
我想修改货币过滤器来处理输入值中的自定义货币格式.
(例如,澳元3.00 – > $3.00). 一个选择是从头开始编写自己的过滤器.然而,这似乎是很多的重复,鉴于现有的过滤器是伟大的,我只需要先修剪一些字符从前面. 理想情况下,我会有这样的事情: .filter('money',function($filters) { return function(text){ var currency = text.substring(4) return $filters('currency')(currency) }; }); 有可能: >从另一个调用一个过滤器? 还有什么其他选择对我开放吗?
>从另一个调用一个过滤器?
是的,我发现最好的解决方案是创建一个新的过滤器: angular.module('ui.filters').filter('customCurrency',[ '$filter',function(filter) { var currencyFilter = filter('currency'); return function(amount,currencySymbol) { return currencyFilter(amount.substr(4),currencySymbol); } } ]); 这样将“AUD 30.00”的值转换为“$30.00” 你不能,从我试过,从版本1.0.1覆盖一个过滤器.我尝试使用相同的名称创建一个过滤器,并尝试引用原始过滤器导致无限循环. Here是一个很好的考虑点:
参见also,基本相同的结论即使我相信op不需要一个自定义过滤器. >访问内部方法(例如,formatNumber())? 如果功能没有暴露出来,那么作者认为这不是一个公开的api,他们想提供.作者可能有一个特定的实现特定功能,可能不是很明显. PS:该模块是您需要的过滤器.我分离了不同模块中的一些功能,并在构建主模块时要求它们 var App = angular.module('App',[ 'ui' ]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |