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有一个与您类似的问题:。我希望你会觉得它有用。