簡體   English   中英

angular:重定向后重新加載頁面

[英]angular : reload page after redirection

我有一個 function 重定向到另一個頁面,我希望在重定向后重定向的頁面也重新加載。

我想在重定向到登錄頁面后重新加載它。 使用“window.location.reload()”重新加載當前頁面,即主頁而不是登錄頁面。 如何重新加載特定頁面?

homeComponent.ts

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormGroup, FormBuilder, FormControl, Validators, Form } from '@angular/forms';
import { LoginComponent } from '../authentification/login/login.component';



@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.scss']
})



export class HomeComponent implements OnInit {
  
  ngOnInit(): void {
   
  }

  constructor(private router: Router) { }


   redirection(){
    this.router.navigate(['/login']);
   }

  
}

你為什么不使用

redirection(){
   window.location.href="yourpagedomain/login"
 } 

它將加載頁面。

在您的登錄頁面上,您可以捕獲導航事件,然后如果它是真的,您可以重新加載您的表單。 我希望它能幫助你:

在您的登錄頁面上:

舊:錯誤代碼

export class LoginPage implements OnInit {
  
  constructor(private router: Router) {
   router.events.subscribe(val => {
      if (val) {
        this.refreshForm(); // Refresh your form
      }
    });
  }
 
  ngOnInit(): void {

  }

}

編輯:此代碼有效:

export class LoginPage implements OnInit {

  constructor(private router: Router) {
   router.events.pipe(
      filter((events: RouterEvent) => events instanceof NavigationEnd),
    ).subscribe((val) => {
      if (val.url === 'LoginPage Url') { // Fill with your loginPage Url (eg. /tabs/tab1)
        this.refresh(); // Refresh your form
      }
    });
  }

  ngOnInit(): void {
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM