2016-03-19 15 views
7

いつも私のホームページはangular 2(ionic 2)でロードされています。コールサービス/機能が必要です。これを達成する方法は?アプリがロードされて初めて、角2(イオン2)は、ページが表示されたときにページ内の関数を呼び出す

(ホーム・ページがロードされている)私はconstructorでこれを書くことができますが、ときに、ユーザーがnav controllerpopにアプリとpush新しいページを使用して起動彼らはhome pageに戻り、constructorが再び呼び出されることはありません。

ここにはまっています。

この機能を実現するための最良の方法は何ですか?

私は(もangular1ionic1での経験を持っていない)angular2ionic2frameworkに新しいですが、私を助けてください。

多くのありがとうございます。

私が試したものの更新

サンプルコードに、しかし働いていませんでした。

import {Page, NavController, Platform, Storage, SqlStorage} from 'ionic-angular'; 

@Page({ 
    templateUrl: 'build/pages/page1/page1.html' 
}) 
export class Page1 { 
    static get parameters(){ 
     return [[NavController],[Platform]]; 
    } 
    ngOnInit() { 
     console.log("Showing the first page!"); 
    } 
    constructor(nav, platform){ 
     this.nav = nav; 
     this.platform = platform; 
    } 
} 

答えて

8

onPageWillEnter()が私のために働いた。

import {Page, NavController, Platform, Storage, SqlStorage} from 'ionic-angular'; 


@Page({ 
    templateUrl: 'build/pages/page1/page1.html' 
}) 
export class Page1 { 
    static get parameters(){ 
     return [[NavController],[Platform]]; 
    } 
    onPageWillEnter() { 
     console.log("Showing the first page!"); 
    } 
    constructor(nav, platform){ 
     this.nav = nav; 
     this.platform = platform; 
    } 
} 

Ionic lifecycle hook

+2

私はLifecycleフックで読むことに非常に参考になりました –

1

あなたは、具体的ngOnInit()またはngAfterViewInit()lifeCycle-hooksを活用することができます。

Hereは簡単なチュートリアルです。例については

// Annotation section 
@Component({ 
    selector: 'street-map', 
    template: '<map-window></map-window><map-controls></map-controls>', 
}) 
// Component controller 
class StreetMap { 
    ngOnInit() { //here you can call the function wanted 
    // Properties are resolved and things like 
    // this.mapWindow and this.mapControls 
    // had a chance to resolve from the 
    // two child components <map-window> and <map-controls> 
    } 
} 

更新:それは純粋なAngular2アプリケーションのために働くIonicFramework特定のソリューションのためのDeepakChandranPの答え@

を参照してください。

+1

私はこれを試してみましたし、またチュートリアルで見られるが、この関数 'ngOnInit(のようです)'と呼ばれる取得されていません。 - コードで私の質問を更新しました。 – Dipak

+0

私の場合は 'onPageLoaded()'を使う必要があると思います。試してみましょう。 – Dipak

+2

はい、その 'onPageWillEnter()' – Dipak

5

IONIC 2 RC1更新

ionViewWillEnter() { 
    console.log("this function will be called every time you enter the view"); 
} 
関連する問題