$interval を使用し、コントローラーがいつ破棄されたかを検出する必要があります。これまで$destroy イベントを使用してきましたが、完全に機能しました。たとえば、この基本的なコードでは、 別のページに移動するとコンソールに「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/をご覧ください。