Open Nevergonnachange opened 9 years ago
Hi.
I'm sorry, but I won't have time to look into this immediately. If you could create a working (breaking) example on http://jsfiddle.net/ and share that in this issue thread, that would reduce my work considerably. Could you please do that?
Im curently quite busy with work aswell. But I'll try to set up and example on the weekend if thats of any help for you.
That would be great. It'll be much more precise, and require less questions and guessing.
I'm also getting this issue. Haven't been able to reproduce it consistently though, sorry.
The error occurs in iscroll-probe.js, line 983:
for ( var i = that.indicators.length; i--; ) {
Looking further down at line 1021, I see:
this.on('destroy', function () {
_indicatorsMap(function () {
this.destroy();
});
delete this.indicators;
});
Does angular-iscroll end up trying to destroy the instance twice?
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();