我在頁面中有一個組件,每次頁面導航時都需要掛鉤。它包含一個mapbox地圖,我發現如果用戶使用註冊頁面進行註冊並拉起鍵盤,然後返回地圖頁面,地圖div就會變小,因爲用戶在他們的鍵盤上拉開了鍵盤電話。我希望這是有道理的?Ionic 2/Angular 2組件生命週期掛鉤
我已經嘗試了這裏列出的所有鉤子https://angular.io/guide/lifecycle-hooks,但每次頁面導航時都不會觸發它們。
任何幫助將是偉大的。
我在頁面中有一個組件,每次頁面導航時都需要掛鉤。它包含一個mapbox地圖,我發現如果用戶使用註冊頁面進行註冊並拉起鍵盤,然後返回地圖頁面,地圖div就會變小,因爲用戶在他們的鍵盤上拉開了鍵盤電話。我希望這是有道理的?Ionic 2/Angular 2組件生命週期掛鉤
我已經嘗試了這裏列出的所有鉤子https://angular.io/guide/lifecycle-hooks,但每次頁面導航時都不會觸發它們。
任何幫助將是偉大的。
嘗試:ionViewDidEnter()
,連同@ViewChild
。用@ViewChild
您可以訪問組件。
從離子docs:
。「ionViewDidEnter()
會火的時候,頁面已全面進入,現在是活動頁面此事件將觸發,無論是第一次加載或緩存頁面」
這將使您可以在每次瀏覽頁面時調用組件上的函數。
父頁TS:
@Component({
selector: 'parent-page',
templateURL: 'parent-page.html'
})
export class ParentPage{
@ViewChild('myComponent') myComponent;
constructor(){}
ionViewDidEnter(){
this.myComponent.someFunc();
}
...
}
父頁HTML:
<ion-content>
...
<child-component #myComponent></child-component>
...
</ion-content>
ionViewDidEnter只觸發頁面而不是組件?我想我將不得不使用頁面事件來調用組件中的方法? –
一個頁面是一個組件 – robbannn
你,你不跟着我?一個頁面是一個組件,但一個頁面是一個組件的擴展,只有一個頁面有ionViewDidEnter?組件只有這些鉤子https://angular.io/guide/lifecycle-hooks。你可以看到沒有ionViewDidEnter。 –
發現任何成功? – robbannn
還沒有,可能不得不使用頁面事件掛鉤來調用組件中的方法。不是很乾淨。 –