我想弄清楚爲什麼我的日期範圍過濾器不工作,我得到的錯誤 - [$注入器:unpr]未知提供者:dateRangeProvider < - dateRange < - dashboardController。 我試圖把'dateRange'放在我的依賴項和$ filter中,不知道我所做的是否正確。任何幫助絕對讚賞!謝謝!角度日期範圍過濾器不工作
我的,我想兩個日期之間的過濾搶了產品的ID HTML
<input style="width:200px; padding:10px; border-radius:4px;"type="text" placeholder="search name" ng-model='productFilter'>
<input type="date" ng-model="to_date">
<input type="date" ng-model="from_date">
<div ng-repeat="product in products | dateRange : from_date : to_date | filter: productFilter track by $index">
<p>Total Inputs: {{product.createdAt}}{{product._id}}</p>
</div>
這是我DashboardController
app.controller('dashboardController', ['$scope', '$filter', 'OpFactory', function($scope, $filter, OpFactory){
function getProducts(){
OpFactory.getProducts(function(data){
$scope.products = data;
console.log("data from getProducts function in dashboardcontroller", data);
})
}
getProducts();
$filter('dateRange', function() {
return function(product, fromDate, toDate) {
var filtered = [];
console.log(fromDate, toDate);
var from_date = Date.parse(fromDate);
var to_date = Date.parse(toDate);
angular.forEach(product, function(item) {
if(item.completed_date > from_date && product.completed_date < to_date) {
filtered.push(item);
}
});
return filtered;
};
});
}]);
嘿Canastro!非常感謝你對我的教育,我沒有意識到我必須這樣做,並且有必要追加到我的模塊中。所以在我的app.js中,我實際上給了我的角度模塊一個應用程序的變種。所以我基本上只是做了app.filter,它不會拋出錯誤。不過,我將濾鏡功能更改爲您的規格,並且仍未按日期進行過濾...嘗試按照創建時的過濾條件進行過濾,即「createdAt」。 –
您是否將我作爲'completed_date'離開的地方更改爲'created_at'? – Canastro
是的,我確實將其更改爲created_at,但它尚未進行過濾,但它會根據$ index跟蹤的第一個輸入值進行過濾。 因此,我在console.log()之前的第二個if語句和chrome控制檯中顯示它確實輸入了forEach函數,但是隨後我在第二個if語句中使用了console.log,並且它從不顯示console.log中的內容。似乎它從來沒有進入第二條語句 –