2017-08-30 76 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提示(安裝時刻並注入模塊依賴項) –

相關問題