2017-08-30 82 views
0

所有我想过滤的项目,如(开始和结束日期),这是基于invoice_date使用meanjs应用程序中的日期范围功能。如何解决Angularjs中未定义的错误时刻?

  • 我的问题是日期过滤器功能在plunker and my localHost production完美地工作,但同时推到服务器它显示仅达May month数据的,如果一些invoice_date值日期一直`2017年8月24日和2017年7月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);

  • enter image description here在终端,如果我们解决了这个错误发生此错误肯定会得到解决方案,我自己尝试过,但我无法解决这个问题...所以请帮助解决这个问题。

控制器:

.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" 
+0

我不能复制你的错误。但是,我注意到ng脚本引用永远加载。你也可以使用'cdnjs.cloudflare'链接。 – 82Tuskers

+0

我没有看到你正在注射的时刻? – rrd

+0

感谢您的评论,我已经使用这个'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js',只在我的项目中......但是再次显示上面的屏幕镜头错误显示...请帮助我感谢提前 –

回答

0

我想你错过了配置&注入到你的模块。请使用以下步骤摘自here

  1. 首先使用凉亭

    bower install angular-moment --save

  2. 然后包括以下所有安装的那一刻库:

    moment.js & angular-moment.js

  3. CONFI你的模块中古尔这样

    var myapp = angular.module('myapp', ['angularMoment']);

    使用在你的控制器等为

    angular.module('fooApp') .controller('FooCtrl', ['$scope', 'moment', function ($scope, moment) { $scope.exampleDate = moment().hour(8).minute(0).second(0).toDate(); }]);

+0

谢谢你的宝贵答案将检查并更新你... –

0

与过滤DATAS的问题通常是由时区造成的。

尝试添加.format('YYYY-MM-DD')到过滤器,因此,例如:

.filter('dateRange', function() { 
    return function(records, dateKey, from, to) { 
     return records.filter(function(record) { 
      return !moment(record[dateKey], 'YYYY-MM-DD').isBefore(moment(from).format('YYYY-MM-DD')) 
      && !moment(record[dateKey], 'YYYY-MM-DD').isAfter(moment(to).format('YYYY-MM-DD')); 
     }); 
    }; 
}) 
+0

再次显示同样的问题,如'时刻未定义', –

+0

因为'时刻没有定义'你必须遵循@Thabung提示(安装时刻并注入模块依赖项) –

相关问题