のselectedIndex属性がインデックスプロパティにバインドされています。 以下に示すように、AngularFireAuth observable内でindexプロパティが変更された場合、ビューは更新されません。何故なの?それは、観測可能な範囲外のどこでもうまく動作します。 .tsファイルと.htmlファイルを以下に示します。ここでプロパティが観測
はここでhtmlファイル
<ion-tabs [selectedIndex]="index">
<ion-tab [root]="t0" tabTitle =" My Account" tabIcon="body"></ion-tab>
<ion-tab [root]="t1" tabTitle ="Sections" tabIcon="home"></ion-tab>
</ion-tabs>
です.TSは
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase'
@IonicPage()
@Component({
selector: 'page-tabs',
templateUrl: 'tabs.html',
})
export class TabsPage {
index = 0;
t0 = "AccountPage";
t1 = "HomePage";
constructor(public navCtrl: NavController, public navParams: NavParams, public afAuth: AngularFireAuth) {
afAuth.authState.subscribe((fbuser: firebase.User) => {
if (!fbuser) {
this.index = 0;
console.log(this.index)
}
else {
this.index = 1;
console.log(this.index)
}
});
// setting the index outside the observable works normally
}
ionViewDidLoad() {
}
}
正確にはどうなりますか?コンソールログに到達します(インデックスは設定されていますが、ビューは設定されていません)。これは負荷がかかったときにもいつでも発生しますか?おそらく、ngOnInitメソッドへの購読を移動してみてください。 – LLai