angularjs2--tab頁呼叫父頁面的方法
阿新 • • 發佈:2019-01-06
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()事件綁定了