gpt4 book ai didi

Angular Router导航和重新加载需要渲染组件一次但渲染两次

转载 作者:行者123 更新时间:2023-12-02 12:15:18 30 4
gpt4 key购买 nike

我遇到特殊情况,需要重定向到网址并重新加载。

我正在从路由器使用此方法:

this.router.navigateByUrl('login');
this.reload();

其中 this.reload() 是在 Angular 区域外工作以强制重新加载页面的函数。我需要强制重新加载,因为我无法控制来自服务器的某些资源。

重新加载的代码是:

public reload(): any {
return this.zone.runOutsideAngular(() => {
location.reload()
});
}

问题是:

我从一开始就导航到登录,然后重新加载页面,这是默认行为。

所需输出:

只需导航而不渲染组件并重新加载,就像当我们点击一​​些未经授权的网址时,我们会被重定向到大多数网站的登录页面。

最佳答案

如果有人有兴趣做我正在做的事情,我已经通过首先访问网址然后重新加载页面来解决这个问题。

首次导入位置:

import { Location } from "@angular/common";

然后使用 go() 导航到您期望的特定网址。

this.location.go('login');

然后使用reload方法重新加载浏览器。

this.reload();

重载函数在哪里:

public reload(): any {
return this.zone.runOutsideAngular(() => {
location.reload()
});
}

注意:

此方法仅适用于您想要导航和重新加载而不向用户显示两次页面加载的情况。

关于Angular Router导航和重新加载需要渲染组件一次但渲染两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46175272/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com