使用 Angularjs 按当年的月份过滤

Filter by the month of the current year with Angularjs

我有一个包含应付账款的屏幕,我想按月过滤每个账户,应该首先加载当前月份,并有上一个和下一个选项在月份之间、之前和之后导航。

该项目在 angularjs v1.5 的 Symfony 2 中。

Controller.js

$scope.selectedMonth = '';

$scope.selectedMonthFilter = function(created_at) {
    console.log(created_at);

    var d = new Date(created_at);
    if(!$scope.selectedMonth) return true;
    return d.getMonth() === $scope.selectedMonth;
};

twig 与我的过滤器,查询是另一个使用名称搜索的过滤器(它正在工作)

ng-repeat="income in incomes | filter:query:selectedMonthFilter(income.create_at) | orderBy: 'income.id'"

错误是没有搜索到当年,控制台显示"undefined",仅此而已。

我只是想让它过滤当年的月份作为大纲。

语法错误。过滤器应该 return 起作用。

修复:

ng-repeat="income in incomes | filter:selectedMonthFilter(criteria) | orderBy: 'income.id'"

//过滤

$scope.selectedMonth = "";

$scope.selectedMonthFilter = function (criteria) {
 console.log(criteria) // matching criteria
  return function (income) {
    console.log(income);
    var d = new Date(income.created_at);
    if (!$scope.selectedMonth) return true;
    return d.getMonth() === $scope.selectedMonth;
  };
};