angularjs2–tab页调用父页面的方法
问题情景:页面A中使用window.open()打开新的tab页B,在页面B中想调用A中的方法。比如,在画面B中做了一些改变数据的操作,想在B关闭时候,A画面自动刷新数据(当然ts里有一个刷新的方法等着调用)。
代码:
A画面:
HTML:
<div class="getStory" id="getStory" (click)="editerclose()">
</div>
ts:
editerclose() {
this.search();//此为刷新数据方法
}
B画面:
ts:
window.opener.document.getElementById('getStory').click();
原理很简单,通过window.opener获取父页面,然后获取那个隐藏的div(dom节点),模拟点击事件,而此事件已经由angular2的事件绑定和component里的editerclose()事件绑定了