3

我一直在试图弄清楚如何检测何时离开视图,以便我可以对 $scope 进行一些清理。我找到了 $ionicView (我更喜欢使用 UI-Routers 转换开始和结束)并在我的子控制器中尝试了它:

// When placed in child view doesn't fire, but works when dropped in parent
$scope.$on("$ionicView.leave", function (event, data) {
    $ionicListDelegate.closeOptionButtons();
});

但什么也没有发生。因此,经过一番阅读后,我发现 leave 只会在父 $scope 上触发,所以我将它移到父级并注入 $ionicListDelegate 并且它可以工作,但是(现在是我的问题)我真的觉得必须有更好的方法来做这个。由于我的视图使用 $destroy 缓存将不起作用。有谁知道我可以做到这一点的另一种方式?还是在父级上调用这个几乎全局的列表关闭事件并不是一个糟糕的方法,因为在我的应用程序中使用了很多列表?

4

0 回答 0