Подтвердить что ты не робот

Событие $scope. $On ('$ destroy') не работает при обновлении ionic & angular

Я использую $interval и должен обнаруживать, когда контроллер уничтожен. До сих пор я использовал событие $destroy, и он отлично работал. Например, с помощью этого базового кода он печатает "уничтожить" в консоли, когда я перехожу на другую страницу (с простым <a href="#/myNewUrl"> в myView.html).

angular.module('myModule').controller('myController', ['$scope', function($scope) {

    $scope.$on('$destroy', function() {
        console.log('destroy');
    });

}]);

Но , так как я обновил Ionic до новой версии (v1.0.0-beta.14), которая также использует новую версию для Angular (v1.3.6), $событие destroy не обнаруживает, когда я перехожу на другую страницу.

Есть ли у кого-то такая же проблема? Как я могу это решить? Спасибо за ваш ответ!


ИЗМЕНИТЬ

Я, наконец, исправил проблему!!! Теперь, с новой версией Ionic, просмотр автоматически кэшируется. Добавление cache-view="false" в шаблон отключает его.

Но я нашел лучший способ, чем событие destroy. Ionic добавила новые события (в $ionicView), и теперь вы можете обнаружить, когда вы покидаете страницу (и страница остается в кеше): $ionicView.leave.

Чтобы получить дополнительную информацию: http://ionicframework.com/docs/nightly/api/directive/ionView/

4b9b3361

Ответ 1

Является ли ваш шаблон кэшированным? Если на ваших маршрутах состояния нет cache: false, тогда контроллер не будет уничтожен.