当前位置: 首页 > 面试题库 >

Angular2 Router 2.0.0是否在相同的URL加载了不同的参数时不重新加载组件?

方谦
2023-03-14
问题内容

我的.routing.ts文件中有这个

export const routing = RouterModule.forChild([
{
    path: 'page/:id',
    component: PageComponent
}]);

我的PageComponent文件检查id参数并相应地加载数据。在路由器的早期版本中,如果我从/ page / 4转到/ page /
25,则该页面将“重新加载”并且组件将更新。

现在,当我尝试导航到/ page / X时,其中X是id,它只会第一次加载,然后url会更改,但是组件不会再次“重新加载”。

是否需要传递某些内容以强制重新加载组件并调用ngOnInit事件?


问题答案:

更新2

该答案仅适用于很久以前停产的路由器版本。

更新1

现在已通过修复了新路由器的(Angular2.3),可提供自定义重用策略。

原版的

这是一个已知问题。当前,尚无办法使路由器在仅参数路由更改时重新创建组件。

他们讨论了最终实施一些重用策略的计划。

您可以订阅参数更改并在那里执行代码,而不是在 ngOnInit()



 类似资料:
  • 问题内容: 设法获得logstash(1.3.1)以将数据发送到elasticsearch(0.9.5)。 我的logstash conf文件设置是 数据存储在ES中的索引logstash-2013.12.xx下 但是,如果我重新启动logstash,请说第二天-将相同的数据重新加载到新索引中。即使我再次重新启动,索引中的文档计数也会加倍。 好像logstash重新读取数据,ES也在复制文档。 有

  • 试图在Spring中学习MVC的基础知识(我只使用Spring构建RESTAPI),但我很难理解如何将新数据返回到同一个视图,似乎我有很多重复的代码,HTML页面完全依赖于th:if语句。。。 发出POST请求,然后用新的/更新的数据加载同一ModelAndView的最佳方式是什么?代码如下: 控制器: 欢迎html:

  • 问题内容: 目标:实施标准的“设置” GUI窗口。类别位于 ListView左侧,而相应选项位于Pane右侧。 (请忽略具有重复类别的明显错误;仍在处理) 在此处输入图片说明 我有一个用于整体“设置”窗口的主窗口,其中包含 ListView带有所有类别的设置。窗口的右侧 具有AnchorPane, 当从列表中选择一个类别时,用于为每个类别加载单独的FXML文件。 当用户选择类别时,我需要他们能够编

  • 我有一个用于总体设置窗口的主窗口,其中包含一个和所有设置类别。窗口的右侧有一个,用于在从列表中选择每个类别时为每个类别加载单独的FXML文件。 当一个用户选择一个类别,我需要他们能够编辑右边的设置,切换到另一个类别,并作出更多的改变。然而,如果他们回到第一类,那里所做的改变会持续下去。 我的明显问题是,每次用户更改类别时,都会重新加载FXML文件和控制器,将其中的所有控件重置为它们的默认值。 研究

  • 这是我的适配器类。 当添加片段并将它们添加到适配器中的不同arraylist时,我传递了不同的arraylist,当调用get item时,我从arraylist中获取条目并将其作为参数传递给该片段,但当我运行此操作时,我最初只获得所有参数,当我更改选项卡时不会发生任何事情。我试着调试,发现getitem最初只被调用了8次,当我改变viewpager选项卡时,什么也不会发生。我也尝试了fragme

  • 我知道这不是react router的默认行为/功能,可以帮助我们轻松地重新加载当前组件,但我真的需要在我的应用程序中使用它。 我的应用程序处理产品。我有一个可以加载的产品列表,当我单击某个项目时,它会显示相关的产品详细信息。 在该页面上,我有加载相同组件的相关产品链接,但有另一个产品详细信息,位于 我在我的组件willmount中获取数据,似乎如果我只更改URL,就不会装载新组件,因此,我总是显