我正在用Angular 6开发一个有Springboot API后端的应用程序。我目前正在开发一个正在加载iframe的应用程序。在子文档中,如果有一个submit按钮,当我单击该按钮时,将在该API响应时在子文档中调用子文档中的API,我需要从该API获取响应。有人有什么建议吗?
下面是我的typescript组件。我可以包括其他代码,如果需要,但我不知道它是必要的。
Here is the Code.............
import { Component, OnInit, ViewChild, HostListener, ElementRef } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Component({
selector: 'app-auth-exception',
templateUrl: './auth-exception.component.html',
styleUrls: ['./auth-exception.component.css']
})
export class AuthExceptionComponent implements OnInit {
constructor() {
if (window.addEventListener) {
window.addEventListener('message', this.receiveMessage.bind(this), false);
} else {
(<any>window).attachEvent('onmessage', this.receiveMessage.bind(this));
}
}
ngOnInit() {
window.addEventListener('message', () => {
this.receiveMessage();
}, false);
}
setEventListener() {
const eventMethod = window.addEventListener ? 'addEventListener' : 'attachEvent';
const eventer = window[eventMethod];
console.log('eventer=' + eventer);
const messageEvent = eventMethod === 'attachEvent' ? 'onmessage' : 'message';
console.log(messageEvent + '---' + eventMethod);
eventer(messageEvent, this.receiveMessage, false);
}
receiveMessage: any = (event: any) => {
const origin = event.origin || event.originalEvent.origin;
if (origin === '') {
if (event.data !== null && typeof event.data === 'object') {
console.log('Data' + event.data['']);
} else {
const RefObject = JSON.parse(event.data);
console.log(RefObject);
this.RefValue = RefObject.value;
}
}
}
}发布于 2019-12-05 11:00:07
您可以使用HostListener
@HostListener('window:message', ['$event']) onPostMessage(event) {
// here your code
}https://stackoverflow.com/questions/53236008
复制相似问题