Ionic 5:如何刷新当前页面

时间:2020-07-09 14:42:54

标签: angular firebase ionic-framework

成功登录验证后,我需要刷新主页。 在这里,我使用以下代码在成功登录后移至下一页,并使用Firebase作为后端。

this.router.navigate(['home']);

它只是打开主页而没有刷新。 欢迎,如果有人可以给我解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用 BehaviorSubject 。这样,您将可以在任何组件中获取该信息,而无需刷新整个页面/屏幕。

1。)创建服务。例如 data.service.ts

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';

@Injectable()
export class DataService {

  private messageSource = new BehaviorSubject('');
  currentMessage = this.messageSource.asObservable();

  constructor() { }

  changeMessage(message: string) {
    this.messageSource.next(message)
  }

}

1.1。)将服务导入 app.module.ts

import { DataService } from './services/data.service';

providers: [
    StatusBar,
    SplashScreen,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
    ...
    DataService
  ],

2。)在登录页面 login.page.ts 上,设置用户名

import { DataService } from '../services/data.service';

let username: string;

constructor(private _dataService: DataService) {...

this._dataService.changeMessage(this.username);

3。)在您的首页 home.page.ts 上,您将访问该信息

import { DataService } from '../services/data.service';

let username: string;

constructor(private _dataService: DataService) {...

this._dataService.currentMessage.subscribe((message) => {
     if(message){
        this.username = message;
     }
});