Comment faire lodash travailler avec Angular JS?
Je suis en train d'utiliser lodash l'utiliser à ng-repeat
directives, de cette façon:
<div ng-controller="GridController" ng-repeat="n in _.range(5)">
<div>Hello {{n}}</div>
</div>
Être GridController
:
IndexModule.controller('GridController', function () {
this._ = _
})
N'est cependant pas de travail et donc, rien n'étant répété. Si je change la directive ng-repeat="i in [1,2,3,4,5]"
ça marchera.
lodash
est déjà inclus via <script>
à <header>
avant angular
. Comment puis-je le faire fonctionner?
Vous devez vous connecter pour publier un commentaire.
Je préfère créer des " _ " a l'échelle mondiale, et injectables pour les tests, voir ma réponse à cette question
L'utilisation de soulignement à l'intérieur de contrôleurs
window._
est référencé par le$rootScope
? N'est-il pas inutile de la constante? Sur l'autre voie, ne devrait pas explicite$inject
de référence, être préférée à l'aide d'un attribut sur la angulaires-sage-global$rootscope
?.factory('_', function($window) { return $window._; // assumes underscore has already been loaded on the page })
Je voulais juste ajouter quelques précisions à @béret et @fils de réponse. Ils ont certainement aidé et a obtenu le jist de cela, mais l'obtention de l'ensemble du processus de commande peut convenir à quelqu'un. C'est comment j'ai configuré mon angulaire de l'environnement avec lodash et il a obtenu le travail avec yeoman gulp-angulaire de servir correctement
bower install lodash --save
(Ce qui ajoute à la charmille et sauve à la charmille json)modifier bower json avoir lodash charge avant angulaire n'. (Cette aide si vous vous trouvez à l'aide de gulp injecter et ne veulent pas mettre manuellement dans index.html. sinon le mettre dans la index.html avant de l'angle de lien)
Faire une nouvelle constante par @fils de la direction.
Espère que cela aide quelqu'un de leur site. 🙂
ng-repeat
nécessite Angulaire de l'expression, qui a accès à Angulaires de la portée des variables. Ainsi, au lieu attribution_
àthis
, de l'attribuer à l'$scope
objet que vous injectez dans le contrôleur:Démo
$scope
controller as
la syntaxe.controler as
syntaxeJe ne suis pas certain de la version Angulaire que vous utilisez. On dirait que vous devriez ai juste utilisé le 'Contrôleur' la syntaxe lorsque vous utilisez 'ce' pour accéder à des variables dans les dom.
Voici la solution avec ce et n'utilisant pas de portée.
http://plnkr.co/edit/9IybWRrBhlgQAOdAc6fs?p=info