Как использовать библиотеку подчеркивания внутри контроллеров angularjs?
В этом посте: AngularJS limitTo по последним 2 записям кто-то предложил назначить переменную _ для rootScope, чтобы библиотека была доступна для всех областей в приложении.
Но я не понимаю, где это делать. Я имею в виду, должно ли это идти в объявлении модуля приложения? то есть:
var myapp = angular.module('offersApp', [])
.config(['$rootScope', function($rootScope) { }
Но где тогда мне загрузить библиотеку подчеркивания? У меня просто есть на моей индексной странице директива ng-app и ссылка на скрипт как для angular-js, так и для библиотек подчеркивания?
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>
...
Как мне этого добиться?
Ответы:
Когда вы включаете Underscore, он прикрепляется к
window
объекту и поэтому доступен глобально.Таким образом, вы можете использовать его из кода Angular как есть.
Вы также можете заключить его в сервис или фабрику, если хотите, чтобы он был внедрен:
Затем вы можете запросить
_
в модуле вашего приложения:источник
Я реализовал здесь предложение @ satchmorun: https://github.com/andresesfm/angular-underscore-module
Чтобы использовать это:
Убедитесь, что вы включили underscore.js в свой проект.
Возьми:
Добавьте angular-underscore-module.js в ваш основной файл (index.html)
Добавьте модуль как зависимость в определение вашего приложения
Чтобы использовать, добавьте в качестве внедренной зависимости в ваш контроллер / службу, и он готов к использованию.
источник
Uncaught ReferenceError: _ is not defined
Я использую это:
См. Https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection примерно на полпути для получения дополнительной информации
run
.источник
<p>{{ _.capitalize('lalala') }}</p>
?Вы также можете взглянуть на этот модуль для angular
https://github.com/floydsoft/angular-underscore
источник
Если вы не против использования lodash, попробуйте https://github.com/rockabox/ng-lodash, он полностью обертывает lodash, поэтому это единственная зависимость, и вам не нужно загружать какие-либо другие файлы сценариев, такие как lodash.
Lodash полностью вне области видимости окна и не «надеется», что он был загружен до вашего модуля.
источник
вы можете использовать этот модуль -> https://github.com/jiahut/ng.lodash
это
lodash
такunderscore
источник