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()事件綁定了