1. 程式人生 > >angularjs2--tab頁呼叫父頁面的方法

angularjs2--tab頁呼叫父頁面的方法

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