Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS ng基于日期值重复筛选项目_Angularjs_Angularjs Scope_Angularjs Ng Repeat_Angular Filters - Fatal编程技术网

AngularJS ng基于日期值重复筛选项目

AngularJS ng基于日期值重复筛选项目,angularjs,angularjs-scope,angularjs-ng-repeat,angular-filters,Angularjs,Angularjs Scope,Angularjs Ng Repeat,Angular Filters,我有一个简单的重复: <li ng-repeat="data in myData.Entries"> {{ data.EntryNumber }} -- <strong>From</strong> {{ data.InfoDetails[0].FromDt.substring(6, data.InfoDetails[0].FromDt.length - 2) | date:'MMM yyyy' }} <strong>to</str

我有一个简单的重复:

<li ng-repeat="data in myData.Entries">

  {{ data.EntryNumber }} --

  <strong>From</strong> {{ data.InfoDetails[0].FromDt.substring(6, data.InfoDetails[0].FromDt.length - 2) | date:'MMM yyyy' }} <strong>to</strong>
  {{ data.InfoDetails[0].ToDt == null && 'current' || data.InfoDetails[0].ToDt.substring(6, data.InfoDetails[0].ToDt.length - 2) | date:'MMM yyyy'}}

</li>
我是否可以筛选此数据,使其仅包括(从当前年度开始)使用时间少于3年的项目

我的JS:

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';

  $scope.myData = {

    "Entries": [{
        "EntryNumber": "E1",
        "InfoDetails": [{
          "FromDt": "/Date(1320912000000)/",
          "ToDt": null,
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MRS"
          },
          "RegisteredWith": "test"
        }]
      }, {
        "EntryNumber": "A1",
        "InfoDetails": [{
          "FromDt": "/Date(1276153200000)/",
          "ToDt": "/Date(1320912000000)/",
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MR"
          },
          "RegisteredWith": "test"
        }]
      }, {
        "EntryNumber": "X1",
        "InfoDetails": [{
          "FromDt": "/Date(1239346800000)/",
          "ToDt": "/Date(1276153200000)/",
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MR"
          },
          "RegisteredWith": "test"
        }]
      }, {
        "EntryNumber": "Z1",
        "InfoDetails": [{
          "FromDt": "/Date(1063177200000)/",
          "ToDt": "/Date(1086850800000)/",
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MR"
          },
          "RegisteredWith": "test"
        }]
      }

    ]
  }

});
这里有一个插曲:

用叉子叉你的手


希望这会有所帮助

@dhavlcengg-谢谢,但是输出列表还没有更新?我比较了fromdt应该是3岁。若您将其更改为某个较大的值,您将在输出列表中找到差异。是否可以改为基于todt?是的,可以。你可以根据自己的要求做任何事情
app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';

  $scope.myData = {

    "Entries": [{
        "EntryNumber": "E1",
        "InfoDetails": [{
          "FromDt": "/Date(1320912000000)/",
          "ToDt": null,
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MRS"
          },
          "RegisteredWith": "test"
        }]
      }, {
        "EntryNumber": "A1",
        "InfoDetails": [{
          "FromDt": "/Date(1276153200000)/",
          "ToDt": "/Date(1320912000000)/",
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MR"
          },
          "RegisteredWith": "test"
        }]
      }, {
        "EntryNumber": "X1",
        "InfoDetails": [{
          "FromDt": "/Date(1239346800000)/",
          "ToDt": "/Date(1276153200000)/",
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MR"
          },
          "RegisteredWith": "test"
        }]
      }, {
        "EntryNumber": "Z1",
        "InfoDetails": [{
          "FromDt": "/Date(1063177200000)/",
          "ToDt": "/Date(1086850800000)/",
          "RegisteredAs": {
            "SurName": "test",
            "Title": "MR"
          },
          "RegisteredWith": "test"
        }]
      }

    ]
  }

});
app.filter('filterList', function() {
    return function(items) {
        var retn = [];

        angular.forEach(items, function(item){
            if((new Date().getFullYear()) - (new Date(+item.InfoDetails[0].FromDt.substring(6, item.InfoDetails[0].FromDt.length - 2)).getFullYear()) >= 3){
              retn.push(item); 
            }
        });

        console.log(retn);
        // return items.slice().reverse();
        return retn;
    };
});