在我的应用程序中,我在同一页面上有2个应用程序-一个是Angular应用程序,另一个是React应用程序。
Angular应用是侧边栏,React应用是主要组件。这两个应用程序都需要彼此提供信息。这可能吗?
我想避免使用本地存储或服务器端,因为共享信息非常动态并且经常更改(例如,在React应用中单击angular应用触发行为中的按钮)。
我在同一页面上拥有2个应用程序的原因是因为我正在迁移更大的角度应用程序以做出反应。但是整个事情都有活跃的用户,我正在组件中完成。
如果有可能,举一些例子会很有帮助。谢谢!
答案 0 :(得分:1)
如果要共享(内存中的)数据,则始终可以使用窗口变量。
喜欢
set xtics -7, 1.5
plot[-7.5:7.5][] sin(x)
对于角度,您可能希望通过在顶部声明窗口来欺骗ts transpiler。
in App 1: window.someVar = "hello"
in App 2: console.log(window.someVar);
OR
如果您要基于事件进行交流,请调度并收听事件
调度事件(应用1):
declare var window;
订阅事件(应用2):
let evt = new CustomEvent('InterAppData', { data: "hello" });
window.dispatchEvent(evt);
PS:这里的App 1和App 2可以是React和Angular或Vice-Versa。