Я использую $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/