implementing $watch and performance degradation in AngularJS 1.7 during large data binding operations
I've been working on this all day and I'm converting an old project and I'm deploying to production and I'm working on a personal project and I'm experiencing important performance degradation in my AngularJS 1.7 application when I use `$watch` on a large data array. The application becomes unresponsive when the array exceeds around 100 items. I have implemented a `watch` on an array of objects that are updated frequently in my application, and it seems like the digest cycle takes longer and longer as the array grows. Here's the relevant code snippet: ```javascript $scope.items = []; // This gets populated with around 100+ objects $scope.$watch('items', function(newValues, oldValues) { // Some operations that process the items console.log('Items updated:', newValues); }, true); // Deep watch enabled here ``` I have tried disabling the deep watch and using a simplified comparison, but that doesn't seem to work for my use case where I need to track changes in the objects' properties. I also attempted to use `throttle` to limit the number of digest cycles, but it hasn't made a noticeable improvement. Can anyone suggest optimization strategies or best practices for handling `$watch` with large datasets in AngularJS? Are there any alternatives I should consider for tracking changes without incurring such a heavy performance cost? Additionally, I've noticed the following behavior message intermittently in the console when interacting with the UI during these lag spikes: `Uncaught behavior: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!` This confirms that the digest cycle is getting exploring. Any help would be greatly appreciated! This is part of a larger web app I'm building. Is there a better approach? The project is a application built with Javascript. Thanks for your help in advance! This issue appeared after updating to Javascript LTS. Cheers for any assistance!