【问题标题】:Angular2 - Reload a component after re-clicking the linkAngular2 - 重新单击链接后重新加载组件
【发布时间】:2017-08-21 01:58:50
【问题描述】:

我试图在重新单击链接后重新加载 Angular2 子组件。

//Component 
public clickedLink(event) {
    // should reload the page before doing stuff
    //.. doing something .. 
}

我尝试了 ChangeDetectorRef 和 A​​pplication.tick(),但它们似乎不起作用。

【问题讨论】:

  • window.reload() 呢?
  • 它将带回父组件。我在子组件中
  • 你想达到什么目的?重新单击链接后通常不需要重新加载组件?

标签: angular angular-ui-router reload angular2-changedetection


【解决方案1】:

只需导航到您想要重定向到的路径路径

 constructor(private route : ActivatedRoute,
      private r : Router) {}

    reloadWithNewId(id:number) {
        this.r.navigateByUrl('my/' + id + '/view');
    }

【讨论】:

  • 我正在使用 emit 刷新页面。所以不同组件的 url 保持不变。
  • 在这种情况下,只需导航到该网址
【解决方案2】:

我认为您不应该重新加载页面。只需取回数据即可。

假设您在用户详细信息页面上并单击需要重新加载页面的内容。

class UserComponent{
constructor(){}
ngOnInit(){this.getUser()}
getUser(){...}
click(){...
      this.getUser()
   }
}

点击这里,你应该让用户回来,所以组件将拥有最新的数据,它会自动呈现值。

会给用户带来很好的体验。

如果您的用例不同,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-20
    • 2014-02-11
    • 1970-01-01
    • 2013-03-13
    • 2013-09-12
    • 2017-11-24
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多