【发布时间】:2019-01-30 18:59:17
【问题描述】:
从我的 angularjs 应用程序中打开一个新窗口:
$window.open($state.href('catalog-detalleTicketMapa', {
id: $localStorage.idRamdom
}), 'window', 'height=700,width=700');
当我关闭该新窗口时,我希望父窗口知道该事件,然后执行以下操作
// controller auxiliary window
vm.onExit = function () {
$rootScope.$broadcast('ventanaCerrada');
};
$window.onbeforeunload = vm.onExit;
// controller main windows
$scope.$on('ventanaCerrada', function () {
$rootScope.ventanaAbierta = false;
});
如果进入事件$rootScope.$broadcast但未进入事件范围.$on.
我也用localStorage测试过,只是在辅助窗口更新,主窗口没有。
如何在浏览器中同时在两个打开的窗口之间共享一个变量?
【问题讨论】:
-
$broadcast发射到所有子作用域,我认为另一个窗口不是子作用域,您可能需要使用其他方法 -
也许this answer对你有用
标签: angularjs