我有一个这样的对象:
$scope.someFilter = {};
以后在代码中我用属性填充它(例如):
$scope.someFilter.Name
$scope.someFilter.Number
$scope.someFilter.Status
$scope.someFilter.Working
$scope.someFilter.Format
$scope.someFilter.Date
$scope.someFilter.Id
$scope.someFilter.Address
等等。我需要的是检查“if语句”内部,如果这些属性为空,即。没有价值,但是以这样的方式
$scope.someFilter.Id
和
$scope.someFilter.Name
不应该检查,因为它们是强制性的,所以它们总是有一些价值。如果它们具有值,则应检查所有其他属性,除了这两个属性。
我试过
if(Object.keys($scope.somefilter).length == 0)
但它不起作用,因为它使用值获得这两个属性。
如果这个问题很愚蠢,我很抱歉,我对angularjs和编程很新。
答案 0 :(得分:-1)
let tempScope = Object.assign({}, $scope.someFilter);
delete tempScope.Name;
delete tempScope.Id;
let areEmptyProps = Object.keys(tempScope).every((prop) => (tempScope[prop] === undefined || tempScope[prop].toString().length === 0))
if (areEmptyProps) {}