javascript - Angular 中订阅来自 iframe 的事件的最佳实践是什么?
问题描述
我有一个用 Angular 编写的应用程序。我的一个组件包含一个 iframe。在 Iframe 中,有一个(非角度的)应用程序可以发送 javascript 事件。在我的组件中,我想订阅这些事件,但不确定最好的方法是什么。如果我使用本机 Javascript,我会执行以下操作:
window.addEventListener('message', function(e) {
console.log(e.data);
});
解决方案
你可以为此创建一个可观察的
let iFrameEvents = Observable.create((observer) => {
let eventSource = // create event source here;
eventSource.onEvent = (event) => observer.next(event.data); // send the new data
});
你可以订阅这个 observable 来获取你的数据
推荐阅读
- ruby - 当我打开文本文件(活动窗口)并写入它而不保存它时,从文本文件中获取数据
- java - 嵌套重复流过滤
- excel - 将复制粘贴过程从两个位置合并到一个位置
- javascript - 查找字符字符,除非被特定字符包围
- visual-studio-2019 - 如何获取在 Visual Studio 中打开的当前解决方案的路径?
- javascript - 如何创建console.log?
- ssis - 通过 DTExec 调用 SSIS 包失败 - 通过 VS 很好
- c# - 使用 linq 在对象的属性中将 Json 查询为字符串
- c++ - C/C++ 取消引用错误:在空检查之前取消引用
- sql-server - 在 SQL Server 中查询以删除 XML 中的标记