当属性未定义时,Angularjs过滤器不起作用

丹尼尔·多涅夫(Daniel Donev)

我有以下设置

  $scope.array = 
    [
      {propertyA: "test", 
       propertyB: {
                   propertyC: [true, true, false]
                  }
      },
      {propertyA: "test2"},
      {propertyA: "test3"}
    ]

接着

<div ng-repeat="item in array| filter :{propertyB: ''} :true">
     {{item.propertyA}}
</div>

所以问题是:

  1. 此设置不显示任何内容

  2. 如果我更改为|filter :{propertyB: '!!'} :true不显示任何内容

  3. 如果我更改为|filter :{propertyB: undefined} :true显示所有内容

我不知道。

目标:我想显示propertyB未定义的项目,反之则显示其他情况。

编辑1:如果我重复的进行阵列angular.equals(item.propertyB, undefined)我得到false, true, true

编辑2:jsfiddle更新

编辑3:我已经更新了问题

丹尼尔·多涅夫(Daniel Donev)

我最终这样做了。

.filter('undefinedProperties', ['$filter', function ($filter) {
        var checkProperty = function (property, returnUndefined) {
            if (returnUndefined) {
                if (property !== undefined) {
                    return true;
                } else {
                    return false;
                }
            } else {
                if (property === undefined) {
                    return true;
                } else {
                    return false;
                }
            }
        };
        return function (input, propertyArray, returnUndefined) {
            if (angular.isArray(propertyArray)) {
                if (angular.isArray(input) && input.length > 0) {
                    angular.forEach(propertyArray, function (property) {
                        for (var i = input.length; i-- > 0;) {
                            if (checkProperty(input[i][property], returnUndefined)) {
                                input.splice(i, 1);
                            }
                        }
                    });
                }
                return input;
            } else {
                throw "PropertyArray is not an array";
            }
        };
    }])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

angularjs过滤器(不起作用)

来自分类Dev

AngularJS过滤器不起作用

来自分类Dev

AngularJS过滤器不起作用

来自分类Dev

自定义过滤器,在AngularJS中给出“无法读取未定义的属性'slice'”

来自分类Dev

AngularJS中未定义的过滤器参数

来自分类Dev

找不到未定义的属性“过滤器”

来自分类Dev

jQuery Kendo网格过滤器属性未定义

来自分类Dev

AngularJS过滤器在变量未定义时显示其他内容

来自分类Dev

Tablesorter 2.28.7 - 使用选择过滤器时无法读取未定义的属性“文本”

来自分类Dev

带有自定义过滤器的angularjs ng-options不起作用

来自分类Dev

AngularJS过滤器允许使用自定义比较器的空值不起作用?

来自分类Dev

AngularJS自定义过滤器顺序通过sortPredicate不起作用

来自分类Dev

AngularJs自定义过滤器在我的情况下不起作用

来自分类Dev

带有自定义过滤器的angularjs ng-options不起作用

来自分类Dev

AngularJS过滤器允许使用自定义比较器的空值不起作用?

来自分类Dev

AngularJS自定义过滤器顺序通过sortPredicate不起作用

来自分类Dev

AngularJs自定义过滤器在我的情况下不起作用

来自分类Dev

AngularJS过滤器在Internet Explorer中不起作用

来自分类Dev

AngularJS 1.3异步过滤器不起作用

来自分类Dev

输入字段过滤器在AngularJS中不起作用

来自分类Dev

jsfidle过滤器在angularjs中不起作用

来自分类Dev

AngularJS:范围过滤器不起作用

来自分类Dev

AngularJS过滤器“全部”不起作用

来自分类Dev

AngularJS过滤器在Internet Explorer中不起作用

来自分类Dev

AngularJS过滤器在对象中不起作用

来自分类Dev

输入字段过滤器在AngularJS中不起作用

来自分类Dev

AngularJS唯一过滤器不起作用

来自分类Dev

angularjs过滤器功能不起作用

来自分类Dev

下拉过滤器在angularjs中不起作用

Related 相关文章

  1. 1

    angularjs过滤器(不起作用)

  2. 2

    AngularJS过滤器不起作用

  3. 3

    AngularJS过滤器不起作用

  4. 4

    自定义过滤器,在AngularJS中给出“无法读取未定义的属性'slice'”

  5. 5

    AngularJS中未定义的过滤器参数

  6. 6

    找不到未定义的属性“过滤器”

  7. 7

    jQuery Kendo网格过滤器属性未定义

  8. 8

    AngularJS过滤器在变量未定义时显示其他内容

  9. 9

    Tablesorter 2.28.7 - 使用选择过滤器时无法读取未定义的属性“文本”

  10. 10

    带有自定义过滤器的angularjs ng-options不起作用

  11. 11

    AngularJS过滤器允许使用自定义比较器的空值不起作用?

  12. 12

    AngularJS自定义过滤器顺序通过sortPredicate不起作用

  13. 13

    AngularJs自定义过滤器在我的情况下不起作用

  14. 14

    带有自定义过滤器的angularjs ng-options不起作用

  15. 15

    AngularJS过滤器允许使用自定义比较器的空值不起作用?

  16. 16

    AngularJS自定义过滤器顺序通过sortPredicate不起作用

  17. 17

    AngularJs自定义过滤器在我的情况下不起作用

  18. 18

    AngularJS过滤器在Internet Explorer中不起作用

  19. 19

    AngularJS 1.3异步过滤器不起作用

  20. 20

    输入字段过滤器在AngularJS中不起作用

  21. 21

    jsfidle过滤器在angularjs中不起作用

  22. 22

    AngularJS:范围过滤器不起作用

  23. 23

    AngularJS过滤器“全部”不起作用

  24. 24

    AngularJS过滤器在Internet Explorer中不起作用

  25. 25

    AngularJS过滤器在对象中不起作用

  26. 26

    输入字段过滤器在AngularJS中不起作用

  27. 27

    AngularJS唯一过滤器不起作用

  28. 28

    angularjs过滤器功能不起作用

  29. 29

    下拉过滤器在angularjs中不起作用

热门标签

归档