Как мы можем удалить отдельный DOM в контроллере и директиве?

0

Используя инструменты dev, я сделал профилирование приложений Ionic 1 (угловой 1. *), я увидел, что у него было много Detached DOM, что привело к медленной производительности и росту памяти.

Я сделал профилирование и увидел, что это приводит к увеличению отдельного дома. После googling я обнаружил, что нам нужно использовать $ destroy & clean up items. У меня есть большое количество пользовательских директив и контроллеров.

Я использовал это для пользовательских директив

elem.on('$destroy', function() {               
                elem.off();
                $log.info('Inside destroy..' + elem);
            });

            scope.$on('$destroy', function() {
                scope = {};                
                $log.info("In destroy of:" + scope);
            });

Как я могу удалить элементы DOM или области видимости из контроллеров, я знаю его похожий код, но только директиву elem; как мы можем получить доступ к элементам DOM в контроллере для уничтожения.

Теги:
ionic-framework
angularjs-directive

1 ответ

0

Я думаю, что то, что вы на самом деле видите, это поведение по умолчанию в ионном режиме благодаря механизму кэширования.

По умолчанию представления кэшируются для повышения производительности. Когда представление перемещается от него, его элемент остается в DOM, а его область отключена от цикла $ watch. При навигации к уже кэшированному представлению его область снова подключается, а существующий элемент, оставшийся в DOM, становится активным. Это также позволяет сохранить положение прокрутки предыдущих просмотров.

Если вы хотите отключить его для просмотра, вы можете установить атрибут <ion-view cache-view="false">. Вы также можете сделать это глобально через $ionicConfigProvider.views.maxCache(0); ,

  • 0
    так что если я сделаю cache-view = "false", то как удалить элементы DOM. Кэширование уже неверно.
  • 0
    Он удаляется автоматически, если кеш имеет значение false. Вы просматривали его в Chrome Dev Tools? Это все еще показывает? Какую ионную версию вы используете?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню