首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据文档理解角js过滤器语法

根据文档理解角js过滤器语法
EN

Stack Overflow用户
提问于 2014-04-08 04:07:39
回答 1查看 963关注 0票数 1

根据,给定以下语法,“货币”筛选器将amount作为第一个参数:

代码语言:javascript
复制
{{ currency_expression | currency : amount : symbol}}

但在下面的示例中,它从未将amount作为参数传递:

代码语言:javascript
复制
<span id="currency-default">{{amount | currency}}</span>

我假设示例中的amount引用了文档中编写的语法中的currency_expression。他们本可以这样写在文档中:

代码语言:javascript
复制
{{ currency_expression | currency : symbol}}

另一个示例是具有以下语法的filter 过滤器

代码语言:javascript
复制
{{ filter_expression | filter : array : expression : comparator}}

但在下面的示例中,它从未指定“源数组”参数:

代码语言:javascript
复制
<tr ng-repeat="friendObj in friends | filter:search:strict">

如果我们要遵循文档中所写的语法,那么我假设示例中的friendObj in friends指的是filter_expression,而search指的是array。他们本可以这样写在文档中:

代码语言:javascript
复制
{{ filter_expression_that_returns_array | filter : expression : comparator}}

我不太确定我是否遗漏了什么东西,但是这些文档对我来说没有意义,因为它们的例子。

我的问题是,我是否应该忽略文档中所说的第一个参数必须是输入?

EN

回答 1

Stack Overflow用户

发布于 2014-04-08 05:28:58

就我个人而言,我总是在有疑问的时候读源代码。

对于您的<span id="currency-default">{{amount | currency}}</span>示例:

https://github.com/angular/angular.js/blob/master/src/ng/filter/filters.js#L50

代码语言:javascript
复制
currencyFilter.$inject = ['$locale'];
function currencyFilter($locale) {
  var formats = $locale.NUMBER_FORMATS;
  return function(amount, currencySymbol){
    if (isUndefined(currencySymbol)) currencySymbol = formats.CURRENCY_SYM;
    return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, 2).
                replace(/\u00A4/g, currencySymbol);
  };
}

在我看来,amount然后是currency,所以输入必须是第一个参数。

更新.

HTML模板绑定上下文中的filter源。

https://github.com/angular/angular.js/blob/master/src/ng/filter/filter.js#L116

代码语言:javascript
复制
function filterFilter() {
  return function(array, expression, comparator) {
    if (!isArray(array)) return array;

第一个if是对作为第一个参数的array (也称为输入)的检查。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22927342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档