我正在构建一个角度应用程序,并且我处于必须与外部 javascript 进行通信的情况。
Scenario在应用程序初始化期间,我使用以下命令将两个 iframe 注入到 index.html 中
document.body.appendChild(iframe);
我有在index.html 中运行的脚本,并且有多个函数,其中一个是 getData();当应用程序初始化时,我必须从角度应用程序组件向此函数发送数据。这件事该怎么办呢?我知道如何从 javascript 到 Angular 进行通信,但不知道如何从 javascript 到 Angular 进行通信。请帮我。我很震惊。
基本的通信可以通过回调来执行。
回调可以由 Angular 或非 Angular 应用程序定义。取决于通讯的方向。
@Injectable()
class GlobalService {
constructor() {
window.vanillaToAngularCallback = data => {
// communicate with other Angular providers
}
}
}
And/or
window.angularToVanillaCallback = data => {
// communicate with other vanilla JS code
}
Where angularToVanillaCallback
应该在 Angular 内部调用,并且vanillaToAngularCallback
在 Angular 之外被调用。应正确选择首次回调的时间;回调不应由一侧调用,直到另一侧定义它们为止。
最好还是将非 Angular 部分保留为 Webpack 捆绑包。这样就可以参考window
可以避免,并且可以使用通用类通过回调或 RxJS 主题与 Angular 部分进行通信。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)