【发布时间】:2018-02-07 19:03:21
【问题描述】:
我想使用meanjs应用程序中的日期范围功能过滤基于invoice_date的项目(开始和结束日期)。
我的问题是日期过滤功能在
plunker and my localHost production中运行良好,但在推送到服务器时,如果某些invoice_date值日期为 `2017-08-24 和2017-07-27'这些数据没有显示在表格中,我不知道我在哪里做错了,我错过了什么.....My Plunk请查看我的 plunker 以供参考。
我已经显示
invoice_date,所以这是我要用于过滤的字段。所以我到底在寻找什么,我想过滤
invoice_date作为开始日期和结束日期:例如:- 如果我们选择像24-05-2017这样的开始日期并结束表中的日期是24-08-2017这两个事务只需要显示或过滤...所以我使用日期范围过滤器来实现此解决方案,但在服务器中它不适合我们请帮助。在我的服务器中,如果我选择
end date作为今天的日期,所有数据都显示在表格上,所以我认为问题是基于这些字段$scope.from = new Date(2014, 04, 30); $scope.to = new Date(2019, 08, 25);在终端出现这个错误如果我们解决这个错误肯定会得到解决方案,我自己尝试过但我无法解决这个问题......所以请帮助解决这个问题。
控制器:
.filter('dateRange', function() {
return function(records, dateKey, from, to) {
return records.filter(function(record) {
return !moment(record[dateKey], 'YYYY-MM-DD').isBefore(moment(from))
&& !moment(record[dateKey], 'YYYY-MM-DD').isAfter(moment(to));
});
};
})
HTML:
<input type="date" class="form-control" name="from" ng-model="from">
<input type="date" class="form-control" name="to" ng-model="to">
过滤器:-
ng-repeat="data in record | dateRange : 'invoice_date' : from : to"
- 我创建了 plunker 供参考:- My plunker
【问题讨论】:
-
我无法复制您的错误。但是,我确实注意到 ng 脚本引用需要很长时间才能加载。您可能还想使用
cdnjs.cloudflare链接。 -
我没有看到你在哪里注射时刻?
-
感谢您的评论,我只在我的项目中使用过这个'cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js'...但是上面的屏幕截图错误再次显示...请帮助我感谢您的提前跨度>
-
@rrd 请查看我的 plunker 以供参考
-
我做到了,但仍然没有看到它被注射到那里的任何地方。你有一个脚本标签是的,但时刻(至少在我每天使用的 Angular 代码中)作为依赖注入。