J'essaie de comprendre pourquoi mon filtre de plage de dates ne fonctionne pas et l'erreur est générée - [$ injector: unpr] Fournisseur inconnu: dateRangeProvider < - dateRange < - dashboardController. J'ai essayé de mettre le 'dateRange' dans mes dépendances et $ filter, je ne sais pas si ce que j'ai fait était correct ou pas. Toute aide est certainement appréciée! Merci!Le filtre de plage de dates angulaire ne fonctionne pas
Mon HTML que je suis en train de filtrer entre deux dates pour saisir l'identifiant des produits
<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>
Ceci est mon 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;
};
});
}]);
Hey Canastro! Merci beaucoup de m'avoir éduqué à ce sujet, je ne me suis pas rendu compte que je devais le faire et il est logique que je doive ajouter à mon module. Donc, dans mon app.js j'ai effectivement donné à mon module angulaire une var de l'application. Donc, fondamentalement, je viens de faire app.filter et il ne jette pas une erreur. Cependant, j'ai changé la fonction de filtre à vos spécifications et il n'est toujours pas filtrant par les dates ... essayant de filtrer quand il a été créé à, le "createdAt". –
Avez-vous changé les endroits où je suis parti en tant que 'completed_date' à' created_at'? – Canastro
Oui, je l'ai changé en created_at et il ne filtre pas encore, mais il filtre pour la première valeur d'entrée où vous faites un suivi par $ index. Donc je console.log() juste avant la 2ème instruction if et dans la console chromée elle montre qu'elle entre dans la fonction forEach mais ensuite console.log dans la 2ème instruction if et elle n'imprime jamais ce qui est dans le fichier console.log. Il semble que cela ne pénètre jamais cette deuxième déclaration si –