我正在使用Angular5,但无法从窗口存储事件中触发控制器方法。
在初始化控制器初始化时,我声明了一个窗口存储事件,如下所示:
window.addEventListener('storage', this.messageReceive);
现在,当触发此事件时,由于我们在其他某个控制器上,因此我们无法使用该控制器的任何方法。
您能建议我们需要做什么吗?
答案 0 :(得分:0)
这就是为什么angular会阻止您使用窗口属性或直接操作DOM的原因。您的尝试就像将常规click
侦听器绑定到DOM对象并尝试执行某些组件功能一样。
直接的解决方案是在浏览器功能和angular-localstorage-observables或ngx-webstorage之类的角度之间使用适当的层。如果您想要或必须自己实现该层,我建议您检查他们的github仓库以检查源代码。