Search code examples
angularjsangularjs-ng-repeatangularjs-filter

Error: [$injector:unpr] Error in rangeFilterProvider


I'm developing an angularjs app and I trying to use the ng-repeat directive but with a range filter, but is not working at all.

This is the code:

<div class="col-md-offset-2 row" ng-repeat="n in []|range:5">
    <div class="col-md-offset-1 col-md-10">
        <input type="email" name="email[]" ng-model="proveedor.emails[{{$index}}]" placeholder="[email protected]" class="form-control"/>
    </div>
    <div class="1">
        <a href="javascript:;" data-repeater-delete="" class="btn btn-danger">
            <i class="fa fa-close"></i>
        </a>
    </div>
</div>

if I remove the rage filter and replace the expression to target an array all works fine.

This is the error

Error: [$injector:unpr] http://errors.angularjs.org/1.6.9/$injector/unpr?p0=rangeFilterProvider%20%3C-%20rangeFilter
Stack trace:
K/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:7:76
gb/p.$injector<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:46:64
d@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:43:309
gb/s<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:46:124
d@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:43:309
ed/this.$get</<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:166:472
W@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:128:106
W/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:126:172
r@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:8:5
W@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:126:151
compile@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:241:194
parse@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:266:183
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:131:214
$watchCollection@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:147:226
compile/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:317:29
Ra/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:17:132
va@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:85:426
p@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:71:93
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:388
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:405
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:405
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:405
p@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:71:33
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:388
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:405
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:405
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:405
da/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:11
compile/<@http://localhost/sicocme-angular/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js:7:24939
Ra/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:17:132
va@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:85:426
p@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:71:93
f@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:388
da/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:62:11
W/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:67:138
l@http://localhost/sicocme-angular/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js:7:23860
compile/</<@http://localhost/sicocme-angular/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js:7:24280
$broadcast@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:153:403
w/z.transitionTo/z.transition<@http://localhost/sicocme-angular/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js:7:19271
h/<@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:137:167
$digest@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:148:130
$apply@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:151:353
l@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:103:165
t@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:108:228
yg/</A.onload@http://localhost/sicocme-angular/assets/bower_components/angular/angular.min.js:109:139
 <!-- ngRepeat: n in []|range:5 --> angular.js:14800:15

I also read the docs in the angularjs errors site but I don't know why the provider is unknow.

my main module

var SicocmeApp = angular.module("SicocmeApp", [
    "ui.router",
    "ui.bootstrap",
    "oc.lazyLoad",
    "ngSanitize"
])

the controller in external js(is loaded porperly)

angular.module('SicocmeApp').controller('AdicionarProveedorController', function ($rootScope, $scope, $http, $timeout) {

});

Thanks in advance!


Solution

  • Range is not a native filter according to angularjs docs. That is why its giving that error. Since that filter cannot be found.

    Check this doc for what is available. You can always create a new filter that would make "range" work using $filter.