Total memory in IE with Angular directive

I am currently having a problem running my angular code in IE 11. Due to the fact that angular is displaying ng-repeat nest incredibly slowly (even with one-way anchor), I came up with the idea of ​​using a directive to render other elements <td>without adding unnecessary observers.

I did plunkr to mimic the problem I am having. Directive code below: https://plnkr.co/edit/MNtShl6iWGFoXBHP2jmM?p=preview

.directive('tdRenderer', function($compile, $filter) {
            return {
                restrict: 'A',

                link: function(scope, element) {

                    var row = scope.row;
                    var htmlElements = '';
                    angular.forEach(row.rowData, function(column) {
                        var dataValue = $filter('typeFormatter')(column);
                        htmlElements += '<td class="nowrap" ng-click="dataTableController.rowClicked($index)">' + dataValue + '</td>';
                    });
                    htmlElements = $compile(htmlElements)(scope);
                    element.append(htmlElements);
                }
            };
        });

I used random values ​​to simulate data that was usually downloaded through the REST service and added a filter, since this is what I have in the real world.

IE dev REST , , . +/-, .

, "track by" ng-repeat, , , , . , , , , . , , , 3 . IE 2 , . - 30 ., , 3 .

, pre- null .html('') , . , , tdRenderer. $, , , .

Chrome FF. IE (Edge )

0
1

IE11 Edge :

, , www.google.com. , , , . .

+1

Source: https://habr.com/ru/post/1675685/


All Articles