【发布时间】:2014-12-29 14:00:46
【问题描述】:
我使用 $interval 并且需要检测控制器何时被销毁。到目前为止,我已经使用了 $destroy 事件并且它运行良好。例如,使用此基本代码,当我转到另一个页面时,它会在控制台中打印 "destroy"(在 myView.html 中使用简单的<a href="#/myNewUrl">)。
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" 禁用它。
但我找到了一个比销毁事件更好的方法。 Ionic 添加了新事件(在 $ionicView 上),现在您可以检测何时离开页面(并且页面保持缓存):$ionicView.leave。
获取更多信息:http://ionicframework.com/docs/nightly/api/directive/ionView/
【问题讨论】: