selectedIndex属性はindexプロパティにバインドされています。以下に示すように、AngularFireAuth オブザーバブル内で 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() {
}
}