Angularjs 在控制器中应用过滤器函数

Angularjs 在控制器中应用过滤器函数,angularjs,filter,controller,Angularjs,Filter,Controller,我从Angular JS开始,我遇到了一个问题。 我在控制器中有以下函数,它将过滤器应用于表的ng重复 $scope.dateRangeFilter = function (property, startDate, endDate) { if (startDate==null) { startDate=moment('1900-01-01',"YYYY-MM-DD"); var s=moment(startDate,"YYYY-MM-DD"); } else {

我从Angular JS开始,我遇到了一个问题。 我在控制器中有以下函数,它将过滤器应用于表的ng重复

    $scope.dateRangeFilter = function (property, startDate, endDate) {
if (startDate==null)
{
    startDate=moment('1900-01-01',"YYYY-MM-DD");
    var s=moment(startDate,"YYYY-MM-DD");

}
else
{
    var datestart = new Date(startDate);
    var s=moment(datestart.getFullYear() + '/' +  ("0" + (datestart.getMonth() + 1)).slice(-2) + '/' +  datestart.getDate()  ,"YYYY-MM-DD");
}
if (endDate==null)
{
    endDate=moment('2999-31-12',"YYYY-MM-DD");
    var e=moment(endDate,"YYYY-MM-DD");
}
else
{
    var datend = new Date(endDate);
    var e=moment(datend.getFullYear() + '/' + ("0" + (datend.getMonth() + 1)).slice(-2) + '/' +  datend.getDate()  ,"YYYY-MM-DD");
}
return function (item) {
    if (item[property] === null) return false;
    var itemDate = moment(item[property]);
    if (itemDate >= s && itemDate <= e) return true;
    return false;
}
}

有什么想法吗?非常感谢

可能是一个重复的问题,基本上你必须向你的控制器注入$filter服务,然后调用你的过滤器,比如
$filter('nameOfYourFilter')(args_required_by_filter)
在你的控制器内部替换
('date',$scope.fechaDesde,$scope.fechahasta)
JB我太感谢你了!我尝试了太多东西,以至于没有看到简单的东西
<tr ng-repeat="user in plazas | filter: dateRangeFilter('date', fechaDesde, fechahasta)">
$scope.getData = function () {
    return $filter('filter')($scope.plazas, ..............................)
}