Sto cercando di usare lodash usarlo nelle direttive ng-repeat
, in questo modo:
Hello {{n}}
Essere GridController
:
IndexModule.controller('GridController', function () { this._ = _ })
Tuttavia non funziona e quindi, nulla viene ripetuto . Se cambio la direttiva in ng-repeat="i in [1,2,3,4,5]"
funzionerà.
lodash
è già incluso tramite in
angular
. Come posso farlo funzionare? Preferisco introdurre “_” globalmente e iniettabile per i test, vedere la mia risposta a questa domanda Utilizzare il segno di sottolineatura all’interno dei controller
var myapp = angular.module('myApp', []) // allow DI for use in controllers, unit tests .constant('_', window._) // use in views, ng-repeat="x in _.range(3)" .run(function ($rootScope) { $rootScope._ = window._; });
Volevo solo aggiungere qualche chiarimento alla risposta di @ beret e @ wires. Hanno sicuramente aiutato e preso in considerazione, ma ottenere l’intero processo in modo che potesse adattarsi a qualcuno. È così che ho impostato il mio ambiente angular con lodash e l’ho fatto funzionare con yeoman gulp-angular per servire correttamente
bower install lodash --save
(questo aggiunge a bower e salva a bower json)
modificare bower json per avere il ricorso al lodash prima che lo faccia l’angular. (Questo aiuta se usi gulp inject e non vuoi inserirlo manualmente in index.html, altrimenti inseriscilo nell’index.html prima del link angular)
Crea una nuova costante per la direzione di @ fili.
'use strict'; angular.module('stackSample') // lodash support .constant('_', window._);
.filter('coffeeFilter', ['_', function(_) {...}]);
.controller('SnesController', function ($scope, _) { $scope._ = _; })
Spero che questo aiuti qualcuno a creare il loro sito. 🙂
ng-repeat
richiede un’espressione angular, che ha accesso a variabili di ambito angular. Quindi, assegnando _
a this
, assegnalo all’object $scope
che inserisci nel controller:
IndexModule.controller('GridController', function ($scope) { $scope._ = _; })
dimostrazione
Non sono sicuro di quale versione di Angular stai usando. Sembra che tu abbia appena usato la syntax ‘Controller as’ quando si usa ‘this’ per accedere alle variabili nella dom.
Ecco la soluzione con questo e non usando lo scope. http://plnkr.co/edit/9IybWRrBhlgQAOdAc6fs?p=info
Hello {{n}}