我使用 $interval 并且需要检测 Controller 何时被破坏。到目前为止,我使用了 $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 版本, View 自动缓存 .添加
cache-view="false"
在模板中禁用它。但是我发现了一个最好的方法是销毁事件 . Ionic 添加了新事件(在 $ionicView 上),现在您可以通过以下方式检测何时离开页面(并且页面保持缓存):
$ionicView.leave
.获取更多信息:http://ionicframework.com/docs/nightly/api/directive/ionView/
最佳答案
你的模板缓存了吗?如果您没有 cache: false
在您的状态路由中, Controller 不会被破坏。
关于angularjs - 事件 $scope.$on ('$destroy' ) 无法更新 ionic & angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27690330/