a8m / angular-filter

Bunch of useful filters for AngularJS (with no external dependencies!)
https://github.com/a8m/angular-filter
MIT License
2.93k stars 331 forks source link

Range filter infinite digest #228

Open vjoao opened 7 years ago

vjoao commented 7 years ago

Hello

I'm trying to use the range pipe with some controller variables like this:

<div ng-repeat="time in [] | range: $ctrl.end - $ctrl.start : $ctrl.start : 1 : $ctrl.transformer">
<span class="hour">{{time.hour}}</span> <span class="minutes">{{time.minutes}}</span>
</div>

The problem is this statement is giving me a infinite digest cycle. If I take the $ctrl.transformer function out the problem goes away, but I need that function to transform the input.

Please note that $ctrl.transformer is returning an Object like this:

$ctrl.transformer = function (time) {
  return {
    hour: ... (hour calculation),
    minutes: ... (minutes calculation)
  }
}

Is there something I don't see?

EDIT:

Fiddle to reproduce https://jsfiddle.net/9coywzgt/5/