gpt4 book ai didi

javascript - 收到推送通知时如何更改范围变量

转载 作者:行者123 更新时间:2023-11-29 15:58:05 25 4
gpt4 key购买 nike

我的网络应用程序中有一个通知图标,显示通知数量。应用程序的前端是使用 angularjs 制作的。

图标的计数存储在 $rootScope 变量中。我想在收到推送通知时增加变量(或调用返回计数的 Web 服务)。

serviceworker.js 文件无权访问 angularjs 中的范围变量。如何从 serviceworker 更改计数变量的值。

我想在 localStorage 项上添加一个更改事件监听器。

登录后,我将创建一个项目。

localStorage.setItem('notifCount', 0);

当我收到推送通知时,我将在 serviceworker.js 中的 localStorage 中递增 notifCount 并且将触发 change 事件。我可以在其中一个 Controller 文件中添加 localStorage 更改监听器并调用 Web 服务,或者只是增加 $rootScope 变量。

但即使有人在开发工具中手动更改 localStorage,也会发生这种情况。

我想知道我是否可以这样做(如果它是正确的方法)或者是否有更好的方法。我不觉得这是正确的方法。

最佳答案

数据通过消息系统在工作线程和主线程之间发送——双方使用 postMessage() 发送消息方法,并通过 onmessage 事件处理程序响应消息(消息包含在 Message 事件的数据属性中。)复制数据而不是共享数据。

有关详细信息,请参阅

关于javascript - 收到推送通知时如何更改范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56628343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com