我使用的角度,並具有以下過濾功能在我的控制器:日期比較就像一個字符串比較
$scope.filterDocuments = function (row) {
var dateCompare = $filter('date')(row.FilingDate, 'MM/dd/yyyy');
if (dateCompare >= $scope.dateLimit) {
if ($scope.query === '' || $scope.query === undefined) {
return true;
} else if (angular.lowercase(row.Description).indexOf($scope.query) !== -1) {
return true;
} else {
return false;
}
} else {
return false;
}
};
此功能使用了NG-重複過程中對數據進行篩選。日期比較的結果就像一個字符串比較。我試圖將代碼更改爲:
$scope.filterDocuments = function (row) {
var dateCompare = $filter('date')(row.FilingDate, 'MM/dd/yyyy');
if (dateCompare.getTime() >= $scope.dateLimit.getTime()) {
if ($scope.query === '' || $scope.query === undefined) {
return true;
} else if (angular.lowercase(row.Description).indexOf($scope.query) !== -1) {
return true;
} else {
return false;
}
} else {
return false;
}
};
而且這種情況更糟!
如何解決這個問題,使日期比較工作,我可以根據日期過濾?
這條線路目前還不清楚'VAR dateCompare = $過濾器( '日期')(row.FilingDate,「MM/DD/yyyy');''dateCompare'的類型是什麼。你調試過代碼並檢查'dateCompare'和'$ scope.dateLimit'的值/類型嗎? –
'$ filter('date')'返回格式化字符串 – Grundy
如果它返回一個字符串,爲什麼OP會抱怨字符串比較?它正在做他們要求它做的事情? OP,你沒有很好地解釋問題是什麼,你正在使用什麼輸入,究竟是如何失敗? –