Erreur de filtrage Angularjs: "Erreur: fournisseur inconnu: textProvider"
J'ai créé un filtre personnalisé pour mon projet angularjs semblable à la suivante violon http://jsfiddle.net/tUyyx/.
myapp.filter('truncate',function(text,length){
var end = "..."
text = text.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
if (isNaN(length))
length = 23;
if (text.length <= length || text.length - end.length <= length) {
return text;
}
else {
return String(text).substring(0, length-end.length) + end;
}
});
mais quand j'utilise le filtre j'obtiens l'erreur suivante
Error: Unknown provider: textProvider <- text <- truncateFilter
at Error (<anonymous>)
at http://localhost/javascripts/lib/angular.min.js:28:236
at Object.c [as get] (http://localhost/javascripts/lib/angular.min.js:26:13)
at http://localhost/javascripts/lib/angular.min.js:28:317
at c (http://localhost/javascripts/lib/angular.min.js:26:13)
at Object.d [as invoke] (http://localhost/javascripts/lib/angular.min.js:26:147)
at http://localhost/javascripts/lib/angular.min.js:28:335
at Object.c [as get] (http://localhost/javascripts/lib/angular.min.js:26:13)
at http://localhost/javascripts/lib/angular.min.js:99:481
at o (http://localhost/javascripts/lib/angular.min.js:66:471)
J'ai créé mon module de ce genre.
var myapp = angular.module('myapp', ['ngResource']);
Ce que je fais mal?
source d'informationauteur Rahul
Vous devez vous connecter pour publier un commentaire.
Si vous regardez le code qui jsFiddle, qui filtre la fonction retourne une fonction qui prend
text
etc comme argument. Il devrait être quelque chose comme ceci:La raison pour laquelle vous obtenu "Inconnu fournisseur de: textProvider" est parce que vous avez
text
comme un argument de votre filtre. Qui les rend look Angulaire pour un service appelétext
qui n'existe pas. C'est la fonction que vous retournez qui prendtext
comme un argument.Pensez-y de cette façon, la première fonction (celui que vous avez passer dans angulaire.filter) est la fonction qui crée d'abord le filtre. Cette fonction n'est exécuté qu'une fois dans votre application. La responsabilité de cette fonction est de créer une autre fonction et le renvoyer, et la fonction qu'elle renvoie est votre filtre. La raison pour laquelle vous avez une fonction qui retourne une fonction est de vous permettre de revenir implémentations différentes en fonction de votre système. Peut-être quelque chose comme ceci: