Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 独特的后角滤波器_Angularjs_Filter - Fatal编程技术网

Angularjs 独特的后角滤波器

Angularjs 独特的后角滤波器,angularjs,filter,Angularjs,Filter,所以我想弄明白这一点已经有一段时间了,但它仍然困扰着我 最终,我希望能够做到以下几点 object in objects | unique:'DateTime | limitTo:4'//As the year is the first 4 characters (哦,好吧,y10k:)) 但我不知道该怎么写,我更希望它是内联html代码,这样我就不需要再搞依赖注入了 提前谢谢 使用这个派生词: .filter('unique', function () { return fu

所以我想弄明白这一点已经有一段时间了,但它仍然困扰着我

最终,我希望能够做到以下几点

    object in objects | unique:'DateTime | limitTo:4'//As the year is the first 4 characters
(哦,好吧,y10k:))

但我不知道该怎么写,我更希望它是内联html代码,这样我就不需要再搞依赖注入了


提前谢谢

使用这个派生词:

.filter('unique', function () {
    return function (items, filterOn) {
        if (filterOn === false) {
            return items;
        }
        if ((filterOn || angular.isUndefined(filterOn)) && angular.isArray(items)) {
            var hashCheck = {}, newItems = [];
            var extractValueToCompare = function (item) {
                if (angular.isObject(item) && angular.isString(filterOn)) {
                    return item[filterOn];
                } else {
                    return item;
                }
            };
            angular.forEach(items, function (item) {
                var valueToCheck, isDuplicate = false;
                for (var i = 0; i < newItems.length; i++) {
                    if (angular.equals(extractValueToCompare(newItems[i]), extractValueToCompare(item))) {
                        isDuplicate = true;
                        break;
                    }
                }
                if (!isDuplicate) {
                    newItems.push(item);
                }
            });
            items = newItems;
        }
        return items;
    };
});
.filter('unique',函数(){
返回函数(项目、过滤器){
if(filterOn==false){
退货项目;
}
如果((filterOn | | angular.isUndefined(filterOn))&angular.isArray(项目)){
var hashCheck={},newItems=[];
var extractValueToCompare=函数(项){
if(角度等高线(项目)和角度等高线(过滤器)){
返回项目[过滤器];
}否则{
退货项目;
}
};
角度。forEach(项目、功能(项目){
var值检查,isDuplicate=false;
对于(var i=0;i
您是否在使用angular ui中的
unique
过滤器?我是,但我无法让它实际过滤并通过unique,我一直在尝试让unique和Limito都正常运行您是否尝试重复使用具有不同年份的对象?或者你也在根据一些用户输入进行过滤?(即使用)为了澄清,集合>对象>属性>限制(或日期:'yyyy')>唯一性是我想要了解的。我建议您编写自己的
unique
实现,它(与angular ui
unique
不同)可以将字符串键或键函数作为参数。然后您将在objects | unique:extractYear中拥有
对象,其中
extractYear
是一个函数,它接受一个对象,并返回其
日期时间的年份部分。