Ich versuche, einen benutzerdefinierten Filter zu implementieren, aber ich erhalte den folgenden Fehler:
Fehler: [$ injector: unpr] Unbekannter Provider: removeCharsFilterProvider & lt; - removeCharsFilter
Die Struktur meines Projekts ist wie folgt ...
app.js:
%Vor%myController.js:
%Vor%removeCharsFilter.js:
%Vor%myView.html:
%Vor%index.html
%Vor%Ich habe keine Ahnung, warum das so ist. Soweit ich weiß, soll das funktionieren. Kannst du etwas sehen, das mir fehlt?
Zunächst müssen Sie keine Filter in den Controller injizieren. Sie sind der Teil der Haupt-App und können mit $filter
service in jedem Controller verwendet werden.
Filter sind keine unabhängigen Singleton-Objekte als eine Abhängigkeit einschließen.
Da Sie es zur Steuerung hinzugefügt haben, sucht es nach Service oder Fabrik, die ein Singleton sind und folglich einspritzen müssen. Aber in Ihrem Fall haben Sie einen Filter, keinen Service.
Entfernen Sie zuerst removeChars
vom Controller. es gibt Ihnen $ Einspritzventilfehler, weil es Service oder Fabrik sucht, die nicht dort ist. Verwenden Sie bleow way, wenn Sie Filter in Controllern verwenden möchten.
Wenn Sie einen Filter in der Ansicht verwenden möchten, brauchen Sie seine Abhängigkeit nicht zu verwalten, sondern verwenden Sie direkt in der Ansicht, so wie Sie sie verwenden.
Daher ist Schlussfolgerung,
Filter können nicht als Abhängigkeit für den Controller geladen werden, da sie nicht Singleton sind.
Der Filter kann im Controller mit $ filter
In der Ansicht können sie direkt auf Daten angewendet werden, indem Sie |
pipe separator
Hoffe, das hilft!
Sie haben diesen Fehler, weil Sie den $ Injektor falsch benutzen, nach dem D.I. Dokumentation von AngularJS Wenn Sie einen Filter außerhalb der Ansicht benötigen, müssen Sie das Filter Suffix an Ihre Abhängigkeit anhängen, dies sagt dem $ injector, dass Sie einen Filter brauchen!
%Vor%Eine weitere Möglichkeit, einen Filter einzufügen, wie in den vorherigen Kommentaren beschrieben, besteht darin, Ihren Filter beim $ filter -Dienst anzufordern.
Tags und Links javascript angularjs filter ionic