Wie verwende ich die Unterstrichbibliothek in AngularJS-Controllern?
In diesem Beitrag: AngularJS limitTo bis zu den letzten 2 Datensätzen hat jemand vorgeschlagen, dem rootScope eine _ -Variable zuzuweisen, damit die Bibliothek allen Bereichen in der App zur Verfügung steht.
Aber mir ist nicht klar, wo ich es machen soll. Ich meine, sollte es auf der App-Modul-Deklaration stehen? dh:
var myapp = angular.module('offersApp', [])
.config(['$rootScope', function($rootScope) { }
Aber wo lade ich dann den Unterstrich lib? Ich habe nur auf meiner Indexseite die ng-App-Direktive und den Skriptverweis sowohl auf die Angular-Js als auch auf die Unterstrich-Bibliotheken.
index.html
::
<head>
</head>
<body ng-app="offersApp">
...
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="scripts/vendor/angular.js"></script>
<script src="scripts/vendor/underscore.js"></script>
...
Wie erreiche ich das?
Antworten:
Wenn Sie einen Unterstrich einfügen, hängt er sich an das
window
Objekt an und ist daher global verfügbar.Sie können es also unverändert aus Angular-Code verwenden.
Sie können es auch in einem Service oder einer Fabrik einpacken, wenn Sie möchten, dass es injiziert wird:
Und dann können
_
Sie im Modul Ihrer App nach dem fragen :quelle
Ich habe den Vorschlag von @ satchmorun hier umgesetzt: https://github.com/andresesfm/angular-underscore-module
Um es zu benutzen:
Stellen Sie sicher, dass Sie underscore.js in Ihr Projekt aufgenommen haben
Kapiert:
Fügen Sie Ihrer Hauptdatei (index.html) angle-underscore-module.js hinzu.
Fügen Sie das Modul als Abhängigkeit in Ihre App-Definition ein
Fügen Sie Ihrem Controller / Service als injizierte Abhängigkeit eine injizierte Abhängigkeit hinzu, und er ist einsatzbereit
quelle
Uncaught ReferenceError: _ is not defined
Ich benutze das:
Weitere Informationen zu finden Sie unter https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection
run
.quelle
<p>{{ _.capitalize('lalala') }}</p>
?Sie können sich dieses Modul auch für Winkel ansehen
https://github.com/floydsoft/angular-underscore
quelle
Wenn es Ihnen nichts ausmacht, lodash zu verwenden, probieren Sie https://github.com/rockabox/ng-lodash aus. Es umschließt lodash vollständig, sodass es die einzige Abhängigkeit ist und Sie keine anderen Skriptdateien wie lodash laden müssen.
Lodash ist völlig außerhalb des Fensterbereichs und keine "Hoffnung", dass es vor Ihrem Modul geladen wurde.
quelle
Sie können dieses Modul verwenden -> https://github.com/jiahut/ng.lodash
das ist für
lodash
so tutunderscore
quelle