angular : 重定向后重新加载页面
angular : reload page after redirection
我有一个重定向到另一个页面的功能,我希望重定向后重定向的页面也重新加载。
我想在被重定向到登录页面后重新加载它。
使用 '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 {
}
}
我有一个重定向到另一个页面的功能,我希望重定向后重定向的页面也重新加载。
我想在被重定向到登录页面后重新加载它。 使用 '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 {
}
}