Jak używać biblioteki podkreślenia w kontrolerach angularjs?
W tym poście: AngularJS limitTo przez ostatnie 2 rekordy ktoś zasugerował przypisanie zmiennej _ do rootScope, aby biblioteka była dostępna dla wszystkich zakresów w aplikacji.
Ale nie wiem, gdzie to zrobić. Chodzi mi o to, czy powinno to iść na deklarację modułu aplikacji? to znaczy:
var myapp = angular.module('offersApp', [])
.config(['$rootScope', function($rootScope) { }
Ale gdzie w takim razie załadować underscore lib? Po prostu mam na mojej stronie indeksu dyrektywę ng-app i odwołanie do skryptu do bibliotek angular-js i underscore?
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>
...
Jak to osiągnąć?
Odpowiedzi:
Kiedy włączysz podkreślenie, przyczepia się do
window
obiektu, więc jest dostępna globalnie.Możesz więc używać go z kodu Angular w takiej postaci, w jakiej jest.
Możesz również zapakować go w usługę lub fabrykę, jeśli chcesz, aby został wstrzyknięty:
Następnie możesz poprosić o
_
moduł w swojej aplikacji:źródło
Wdrożyłem sugestię @ satchmorun tutaj: https://github.com/andresesfm/angular-underscore-module
Aby z niego skorzystać:
Upewnij się, że w swoim projekcie umieściłeś podkreślenie.js
Zdobyć:
Dodaj angular-underscore-module.js do swojego głównego pliku (index.html)
Dodaj moduł jako zależność w definicji aplikacji
Aby użyć, dodaj jako wstrzykniętą zależność do kontrolera / usługi i jest gotowa do użycia
źródło
Uncaught ReferenceError: _ is not defined
Używam tego:
Więcej informacji na ten temat można znaleźć na https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection
run
.źródło
<p>{{ _.capitalize('lalala') }}</p>
?Możesz również przyjrzeć się temu modułowi pod kątem kątów
https://github.com/floydsoft/angular-underscore
źródło
Jeśli nie masz nic przeciwko używaniu lodash, wypróbuj https://github.com/rockabox/ng-lodash , całkowicie otacza lodash, więc jest to jedyna zależność i nie musisz ładować żadnych innych plików skryptów, takich jak lodash.
Lodash jest całkowicie poza zasięgiem okna i nie ma nadziei, że został załadowany przed Twoim modułem.
źródło
możesz użyć tego modułu -> https://github.com/jiahut/ng.lodash
to jest dla
lodash
tak robiunderscore
źródło