我在app.html中声明了html菜单,如下所示:
<ion-menu [content]="content" *ngIf="userData">
<ion-header>
<div class="menu heading">
<ion-list>
<ion-item menuClose (click)="profilePage()">
<ion-avatar item-start>
<img [src]="userData.img">
</ion-avatar>
<h2 class="text-white text-shadow"><strong>{{userData.name}}</strong></h2>
<p class="text-white text-shadow" (click)="profilePage()">View Profile</p>
</ion-item>
</ion-list>
</div>
</ion-header>
<ion-content class="menu" padding>
<ion-list>
...
...
...
</ion-content>
</ion-menu>
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>
问题在于变量userData
来自 firebase ,因此,当我登录并转到首页时,它不起作用,但是一旦刷新页面,它便起作用了。
这就是我在 app.component.ts 中获得userdata
的方式:
constructor(public platform: Platform, public statusBar: StatusBar,
public splashScreen: SplashScreen,
keyboard: Keyboard,
public angularDb:AngularFireDatabase,
public dataProvider: DataProvider
) {
platform.ready().then(() => {
console.log("ready")
this.dataProvider.getData('userData').then((data)=>{
let userData = <any>data;
this.userData = userData;
....
在IONIC 4中,我看到可以在单独的页面(如menu.page.html及其menu.ts)中创建菜单,可以在其中提取UserData,因为app.component.ts仅执行一次, 3建议不幸的是在那里实现菜单,实际上没有解决方案,有什么建议吗?