相关疑难解决方法(0)

AngularJS orderby与空字段

我正在订购我的数据并且其工作正常,除了一些字段为空或没有价值.订购时,这些空字段首先出现.例如,在订购数字时,我们会在获得"0"值之前得到一个巨大的空列表.

我这样做是这样的:

ng-click="predicate = 'name'; reverse=!reverse"
Run Code Online (Sandbox Code Playgroud)

ng-repeat="name in names | orderBy:predicate:reverse"
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http://jsfiddle.net/JZuCX/1/

有一种简单优雅的方法来解决这个问题吗?无论如何,我希望空场能够持久.

javascript angularjs

34
推荐指数
3
解决办法
2万
查看次数

设置AngularJS日期过滤器格式以供日期过滤器的所有引用使用?

而不是必须为每次调用date过滤器定义自定义格式,有没有办法全局定义默认格式(除了'medium')?

我希望将格式设置在一个文件中,而不是在我的代码中的所有位置(日期格式可能会在将来更改,并且在一个文件中进行修改比在许多文件中进行更改要好得多).

这就是我现在正在做的事情(每次定义日期格式):

{{systemTime | date:'dd MMMM @ HH:mm:ss'}}
{{modifiedTime | date:'dd MMMM @ HH:mm:ss'}}
{{getShippedTime() | date:'dd MMMM @ HH:mm:ss'}}
   etc.
Run Code Online (Sandbox Code Playgroud)

我正在考虑创建一个自定义过滤器(让它调用它myDate),它将充当包装器,然后date使用我的自定义格式将日期字符串传递给Angular 过滤器,因此我的代码可能如下所示:

{{systemTime | myDate}}
{{modifiedTime | myDate}}
{{getShippedTime() | myDate}}
   etc.
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何使myDate滤镜指向角度date滤镜.

谢谢你的帮助.

angularjs angularjs-filter

19
推荐指数
3
解决办法
3万
查看次数

AngularJS:扩展内置过滤器

我想修改currency过滤器以处理输入值中的自定义货币格式.

(例如,AUD 3.00 -> $3.00).

一种选择是从头开始编写我自己的过滤器.然而,这似乎有很多重复,考虑到现有的滤镜很棒,我只需先从前面修剪几个字符.

理想情况下,我会有这样的事情:

.filter('money', function($filters) {
    return function(text){
        var currency = text.substring(4)
        return $filters('currency')(currency)
    };
});
Run Code Online (Sandbox Code Playgroud)

有可能:

  • 从另一个调用一个过滤器?
  • 访问内部方法(例如,此处formatNumber()显示

还有哪些其他选择可供我使用?

angularjs

13
推荐指数
1
解决办法
9847
查看次数

为什么要将'null'传递给'apply'或'call'?

根据这个JavaScript参考:

值null是表示null或"空"值的JavaScript文字,即不存在对象值.它是JavaScript的原始值之一.

function getMax(arr){
  return Math.max.apply(null, arr);  
}
Run Code Online (Sandbox Code Playgroud)

不明确传递关键字this更清晰,或至少更具可读性?然后,在这一点上,我可能不明白你为什么要使用null.

javascript

13
推荐指数
2
解决办法
8395
查看次数

使用null对象进行角度排序

当我按ASC排序时,我需要在顶部记录带有空值的记录

<tr ng-repeat="footballer in footballers=(footballers | orderBy:predicate)">
predicate : ['team.name','id]
Run Code Online (Sandbox Code Playgroud)

有些球员没有团队,使团队object == nullteam.name==null,我需要让他们在上面

我想重写sort函数,但我需要保存谓词

sorting angularjs

4
推荐指数
1
解决办法
8404
查看次数

如何覆盖Angular的数字过滤器?

我想让Angular的数字过滤器具有一个相同的格式,无论选择的本地化.

所以,从GitHub中Angular源代码我看到过滤器的实现如下所示:

function numberFilter($locale) {
   var formats = $locale.NUMBER_FORMATS;
   return function(number, fractionSize) {

       // if null or undefined pass it through
       return (number == null)
           ? number
           : formatNumber(number, formats.PATTERNS[0], formats.GROUP_SEP, formats.DECIMAL_SEP,
                   fractionSize);
    };
}
Run Code Online (Sandbox Code Playgroud)

我希望我的数字看起来像这样:123 456.78.含义,

formats.GROUP_SEP = " "; // Always, disrespect locale
formats.DECIMAL_SEP = "."; // Always, disrespect locale
Run Code Online (Sandbox Code Playgroud)

我看到这篇关于覆盖现有过滤器的文章,但我无法弄清楚如何在我的案例中使用它来实现我想要的.

javascript angularjs angular-filters

2
推荐指数
1
解决办法
1848
查看次数