延迟$摘要周期

时间:2017-12-11 11:24:50

标签: angularjs

我有一个要求,关闭子窗口应该在父窗口中触发一个方法。我正在使用角度进行开发,我真的很喜欢用棱角分明的方式。

Window 1控制器:

var abc = $window.open(url);
$scope.$watch('abc.closed', function() {
    // Do something when abc.close is true 
};

这样可行,但过程有延迟。当子窗口关闭时,监听器被触发的时间相当晚,就像20-40秒之后。 你认为这个问题是什么,以及这项工作的最佳方法是什么?

我见过其他帖子,人们正在使用setInterval并观察.closed,但这将是一种黑客行为方式。

1 个答案:

答案 0 :(得分:0)

您可以通过使用窗口的onbeforeunload事件来实现此目的

app.controller('yourCtrl', ['$window', function ($window) {
    $window.onbeforeunload = function (evt) {
    //Your Service/Logic 
  }
]);