-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Hi,
I am expiriancing the following problem once I set refreshInterval: 500. Everything works fine ultil I leave the route, the scroller is on ( change route, template and ctrl ).
Then i get the following error messages:
Firefox:
"Error: that.indicators is undefined
_indicatorsMap@http://ngc:61741/libs/iscroll.js:974:14
IScroll.prototype._initIndicators/<@http://ngc:61741/libs/iscroll.js:1007:4
IScroll.prototype._execEvent@http://ngc:61741/libs/iscroll.js:739:1
IScroll.prototype.refresh@http://ngc:61741/libs/iscroll.js:698:3
_refreshAfterInitialRender@http://ngc:61741/libs/angular-iscroll.js:121:17
timeout/timeoutId<@http://ngc:61741/libs/angular.js:16299:28
completeOutstandingRequest@http://ngc:61741/libs/angular.js:4924:7
Browser/self.defer/timeoutId<@http://ngc:61741/libs/angular.js:5312:7
"
Chrome
TypeError: Cannot read property 'length' of undefined
at _indicatorsMap (iscroll.js:974)
at Object. (iscroll.js:1007)
at Object.IScroll._execEvent (iscroll.js:739)
at Object.IScroll.refresh (iscroll.js:698)
at _refreshAfterInitialRender (angular-iscroll.js:121)
at angular.js:16299
at completeOutstandingRequest (angular.js:4924)
at angular.js:5312
Source:
https://gist.github.com/Nevergonnachange/7248c6e6d37d9881a3ac
EDIT:
Apparently the destruction / deregistration doesnt quite work out well here
angular.forEach(deregistrators, _call);
EDIT:
this is my fix:
line ~170
instance.on('scrollStart', _disableRefresh);
instance.on('scrollEnd', _enableRefresh);
if (options.directive.refreshInterval !== false) {
instance.refreshInterval = $interval(function () {
_refreshInstance();
}, options.directive.refreshInterval);
}
line ~144
function _destroyInstance() {
if (angular.isDefined(scope.iscrollInstance)) {
delete scope.iscrollInstance;
}
$interval.cancel(instance.refreshInterval);
instance.destroy();