如何将变量从vanilla JS传递给Angular2

nCo*_*ore 3 javascript angularjs angular

我正试图从一个vanilla javascript获取一个对象标题,并在我的angular 2组件上检索它.目前我正在保存变量,localStorage但我不认为这是一个很好的方法.

要在localStorage单击按钮时设置保存变量,按钮位于iframe中.

有人能指出我正确的方向如何实现这一目标?

编辑下面的答案:红色位的其余部分是"找不到名字" 在此输入图像描述

Gün*_*uer 6

您可以在Angular中发出事件并收听它

window.dispatchEvent(new CustomEvent('js-value', { bubbles: true, detail: 'someValue' });
Run Code Online (Sandbox Code Playgroud)

然后听Angular

export class MyComponent {
  constructor() {}

  @HostListener('window:js-value', ['$event.detail'])
  onJsValue(val) {
    console.log(val);
  }
}
Run Code Online (Sandbox Code Playgroud)

这样,您也不会遇到更改检测问题,因为在调用事件处理程序时,Angular会自行更改检测.