gpt4 book ai didi

单击浏览器的后退按钮时,Angular 6 ngOnInit 不触发

转载 作者:太空狗 更新时间:2023-10-29 19:32:18 28 4
gpt4 key购买 nike

我在处理涉及参数的路由时遇到问题。当我尝试使用浏览器的后退按钮返回时,前一个组件的 ngoninit 不会触发。

使用 Angular 教程重现错误的步骤:

  • https://angular.io/tutorial 下载教程并运行 npm install
  • 使用命令 ng build --prod --build-optimizerng build --prod
  • 构建应用
  • 将上一步生成的静态文件上传到 nginx 或 apache 服务器,相应的配置文件具有 Angular 文档中推荐的代码行。 https://angular.io/guide/deployment
  • 单击仪表板中的顶级英雄之一。
  • 点击浏览器的后退按钮。

按照这些步骤,您会看到仪表板中未加载顶级英雄,这与我的应用程序遇到的问题完全相同。这是因为在使用后退按钮专门返回时未调用 ngOnInit。

需要注意的几点:
此问题仅在使用 Firefox、Chrome 或 Opera 时出现。
使用开发模式ng serve不会出现这个问题。
我更新到 angular 7,但仍然有同样的问题。

有什么办法可以解决这个问题吗?我在 Angular 的 repo 问题中没有找到任何关于此的信息。

最佳答案

你应该像这样:

this._router.events.subscribe(event => {
// ... yourcode
});

关于单击浏览器的后退按钮时,Angular 6 ngOnInit 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53017318/

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