我有一个编辑用户的页面,里面有一些子组件.每个子组件都可以更改或对其父组件产生一些影响.

因此,我没有将更改发送到父级并更新一些字段,而是使用

private route: ActivatedRoute;

reload(){
    this.router.navigate(["/admin/user/edit/"+this.user.id]);
}

基本上,它会重定向到当前页面.例如,当前页面是

但是,Angular 似乎不会重定向/重新加载与router.navigate相同的页面

我应该如何重新加载当前页面?

编辑:

这就是为什么我需要重新加载页面,而不是手动更新当前页面上的数据的原因.我需要对其他组件进行更新,当我进行更新时,它会向历史组件添加一些内容.我需要一起刷新User组件和History组件,因为这两个组件都受到其他组件中更改的影响.

Components

推荐答案

它将100%有效.下面几行代码负责在我的项目中重新加载页面.

load(val) {
if (val == this.router.url) {
  this.spinnerService.show();
  this.router.routeReuseStrategy.shouldReuseRoute = function () {
    return false;
  };
 }
}

只需在代码中使用以下部分.

this.router.routeReuseStrategy.shouldReuseRoute = function () {
    return false;
  };

Angular相关问答推荐

Angular ngModel双向数据绑定不适用于表单中的Select元素

如何go 除融合图中的拖尾水印?

如何在Angular 17中使用Angular—calendum?

Angular 和PrimeNg文件Uploader:渲染元件时如何显示选定文件的列表?

访问Angular 模板中的HTML元素属性

无法在Mat-SideNav中绑定模式

ION标签-从子对象中加载页,保留父对象的S内容

区分material 手风琴

Angular 9表单构建器 - 日期验证器问题

如果我使用 matAutocomplete,为什么 textarea 不显示 formControl 的实际值

缺少 .angular-cli.json 文件:Angular

angular4应用程序中输入的最小值和最大值

如何将服务变量传递到 Angular Material 对话框?

EmptyError: no elements in sequence

当父组件上的变量发生变化时重新加载子组件

请求 http.GET 时发送的 Angular2 OPTIONS 方法

Angular2material对话框自动关闭

Angular 2表单验证重复密码

测试一个包含 setTimeout() 的函数

如何在项目中导入 Angular material?