2017-04-18 5 views
0

localForageを使用してアプリケーションにローカルデータを格納しています。そこで、画面がロードされたときに、if value = trueページが私のTabsPageにリダイレクトされる必要があるときにチェックします。それは同じコードラインで作業している他の機能にIonic 2 - ionViewDidLoad関数cantがnavCtrlを読み取る

ionViewDidLoad() { 
    localForage.getItem('didLogin', function(err, value) { 
    // Run this code once the value has been 
    // loaded from the offline store. 
    console.log(value); 

    if(value){ 
     this.navCtrl.push(TabsPage); 
    } 
    }); 
} 

constructor(public navCtrl: NavController, public loading: LoadingController){} 

ここに私のionViewLoaded機能である:ここで

はコンストラクタです。

これは私が取得エラーです:

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'navCtrl' of undefined TypeError: Cannot read property 'navCtrl' of undefined

答えて

1

問題は「この」あなたのコールバック内部は親コンポーネントのインスタンスではないということです。この関数はそれを変更します。 あなたはそれが動作しますlocalForage.getItem外this.navCtrlを呼び出す場合、問題はionViewDidLoadない親

localForage.getItem('didLogin', (err, value) => { 
if(value){ 
    this.navCtrl.push(TabsPage); 
} 
}); 

からこれを維持しますES6矢印機能を使用することができます。

hereの矢印機能(および「この問題」)について詳しく読むことができます。

+0

もちろんです!ありがとうございました – Sreinieren

関連する問題