我使用$interval,需要检测控制器何时被破坏.到目前为止,我已经使用了$destroy事件,它的工作完美.例如,使用这个基本代码,当我转到另一个页面(myView.html中有一个简单的< a href =“#/ myNewUrl”>)时,它会在控制台中打印“destroy”).
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添加了新的事件(在$ionView上),现在您可以检测何时离开页面(页面保持缓存):$ionView.leave.
获取更多信息:http://ionicframework.com/docs/nightly/api/directive/ionView/
你的模板是否被缓存?如果您的状态路由中没有cache:false,则控制器不会被销毁.