我有2页,一个主页,第二页。当我单击主页上的按钮时,它会路由到page2。现在单击主页上的按钮后,当我进入第2页时,应该刷新一下,因为我的项目中存在一些缓存问题。我在ngoninit上添加了window.location.reload(),但是这里的页面一直在刷新。 这是下面的代码。
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-home',
template: '<button (click)="gonextPage()">Go to next page</button>',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
imageSource :any;
statusdata1: any;
moreThanTen:boolean = false;
showit:boolean = false;
groupList:any = [];
constructor(private router: Router) { }
gonextPage(){
this.router.navigateByUrl('/page2');
}
ngOnInit() {
// window.location.reload();
/* First data */
let response =
{"vehicle_number":1,"vehicle_name":"car","status":"yellow"}
let response1 = {"vehicle_number":0,"vehicle_name":"car","status":"yellow"}
let response2 = {"vehicle_number":2,"vehicle_name":"car","status":"yellow"}
this.groupList.push(response,response1,response2);
console.log(this.groupList);
}
}
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-page2',
template: '',
styleUrls: ['./page2.component.css']
})
export class page2Component implements OnInit {
imageSource :any;
statusdata1: any;
moreThanTen:boolean = false;
showit:boolean = false;
groupList:any = [];
constructor(private router: Router) { }
ngOnInit() {
window.location.reload();
/* First data */
let response =
{"vehicle_number":1,"vehicle_name":"car","status":"yellow"}
let response1 = {"vehicle_number":0,"vehicle_name":"car","status":"yellow"}
let response2 = {"vehicle_number":2,"vehicle_name":"car","status":"yellow"}
this.groupList.push(response,response1,response2);
console.log(this.groupList);
}
}
答案 0 :(得分:0)
您不需要手动重新加载。如果路由到特定组件,则始终会得到一个新组件。如果您能进一步说明您的问题,我会为您提供帮助。
答案 1 :(得分:0)
我删除了先前编辑的答案,因为它被欺负了。 唯一的方法是使用即使重新加载js时仍保留的信息(在window.location.reload();上),因为所有其他信息都将丢失。您可以使用localStorage(与localStorage.setItem('firstReload','true');)一起使用。
ngOnInit() {
if (!localStorage.getItem('firstReload') || localStorage.getItem('firstReload') == 'true') {
localStorage.setItem('firstReload', 'false');
window.location.reload();
} else {
localStorage.setItem('firstReload', 'true');
}
}
下面是一个可行的修改示例:https://stackblitz.com/edit/angular-correct-routing?file=src%2Fapp%2Fpage.component.ts