我tabs.ts生成時(simpilified) - 用於將所產生卡口與* ngFor從PHP後端帶到數據:Ionic2 - 不可見的選項卡 - 從可觀察到的
import ...
export interface Group {
id: number;
group: string;
};
@Component({
template: `
<ion-tabs #myTabs selectedIndex="0">
<ion-tab *ngFor="let tab of userGroups" [root]="page" [rootParams]="tab.id" [tabTitle]="tab.group" tabIcon="pulse"></ion-tab>
</ion-tabs>
`
})
export class GroupsTabsPage {
userGroups: Group[];
page: any = TabStudentsPage;
constructor(public app: App, public api: Api, public navParams: NavParams) {
this.api.getGroupsList()
.subscribe(
data => {
this.userGroups = data;
},
err => {
this.app.getRootNav().push(LoginPage)
}
);
// ionViewDidEnter() {
// }
}
}
結果是不可見的選項卡。 但是當你將鼠標懸停在他們身上時,光標變成'手',你可以點擊它們。點擊後,整個標籤欄變得可見並且全部按預期工作。
當我使用@ViewChild來引用tabs元素時,有趣的是它的'length'屬性總是0(我在ionViewDidLoad事件中檢查過)。試圖選擇一個選項卡編程也失敗了 - 他們就像鬼;)
而且當你把未來至少一個靜態選項卡* ngFor那些在模板中,所有的* ngFor的人出現,但靜無論您以編程方式選擇或在選項卡元素的selectedIndex屬性中選擇總是被選中。
任何想法的傢伙?我已經浪費了三天..
你試過用'this.content.resize()'嗎? [doc](http://ionicframework.com/docs/v2/api/components/content/Content/#resize)表示_告訴內容重新計算其維度。這應該在動態添加頁眉,頁腳或選項卡後調用。 – sebaferreras
我已將添加到我的模板和必要的導入/ @ ViewChild的東西 - 無結果.. 問題是,編程方式tabs元素爲空。當我參考ike @ViewChild('myTabs')tabRef:Tabs,然後檢查console.log(this.tabRef.length())它是0(在ionViewDidLoad中)。但實際上屏幕上有四個四個選項卡,您可以單擊並加載頁面。 –
Joey