Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Javascript 通过重复中的关键帧过滤对象_Javascript_Angularjs - Fatal编程技术网

Javascript 通过重复中的关键帧过滤对象

Javascript 通过重复中的关键帧过滤对象,javascript,angularjs,Javascript,Angularjs,我想排除未列出为默认值的其他项目,但它仍然显示所有项目 <ul ng-controller="Ctrl" class="dropdown-menu"> <li ng-repeat="(key, value) in Employee.KeyValue | filter:DefaultKeys(key) ">{{key}}</li> </ul> angular.module('app', []); function Ctrl($scope)

我想排除未列出为默认值的其他项目,但它仍然显示所有项目

<ul ng-controller="Ctrl" class="dropdown-menu">
    <li ng-repeat="(key, value) in Employee.KeyValue | filter:DefaultKeys(key) ">{{key}}</li>
</ul>

angular.module('app', []);

function Ctrl($scope) {
    $scope.DefaultKeys = function(item) {
        var defaultItems = ["SSS No.", "TIN"];

        return defaultItems.indexOf(item);
    };

    $scope.Employee =
        {
            Code: '123',            
            KeyValue:
            {
                'TIN': '9038468',
                'Facebook' : 'https://fb.com/abc'
            }
        }
}
  • {{key}
角度模块('app',[]); 函数Ctrl($scope){ $scope.DefaultKeys=函数(项){ var defaultItems=[“SSS编号”,“TIN”]; 返回defaultItems.indexOf(item); }; $scope.Employee= { 代码:'123', 键值: { "TIN:"9038468",, “Facebook”:https://fb.com/abc' } } }
检查这个


请提供任何帮助

您可以自定义过滤器

过滤器

angular.module('app', []).filter('DefaultKeys', function () {
    return function (item) {
        var keys = {};
        angular.forEach(['SSS No.', 'TIN'], function (key) {
            if (item[key] !== undefined) {
                keys[key] = item[key];
            }
        });
        return keys;
    };
});
Html

<ul ng-controller="Ctrl" class="dropdown-menu">
    <li ng-repeat="(key,value) in Employee.KeyValue | DefaultKeys">{{key}}</li>
</ul>
  • {{key}

不能对对象使用
过滤器,只能对数组使用。你必须在控制器里做这件事。。我懂了。。谢谢charlietflHere有一个与您类似的问题:。我希望你会觉得它有用。