我打电话router.navigate
在同一页上有一些查询字符串参数。在这种情况下,ngOnInit()
不会调用。是默认还是需要添加其他内容?路由器导航不会调用ngOnInit当相同的页面
10
A
回答
20
,你可以注入ActivatedRoute
和订阅params
constructor(route:ActivatedRoute) {
route.params.subscribe(val => {
// put the code from `ngOnInit` here
});
}
路由器仅破坏并重新创建组件时,导航到不同的路线。当只更新路由参数或查询参数但路由相同时,组件不会被销毁和重新创建。
强制重新创建组件的另一种方法是使用自定义重用策略。又见Angular2 router 2.0.0 not reloading components when same url loaded with different parameters?(似乎没有被太多的信息尚未提供如何实现它)创建一个实例时
1
NgOnInit
将被调用一次。对于相同的实例NgOnInit
将不会再被调用。为了调用它,有必要销毁创建的实例。
0
6
您可以在路由器上调整reuseStrategy。
constructor(private router: Router) {
// override the route reuse strategy
this.router.routeReuseStrategy.shouldReuseRoute = function() {
return false;
};
}
相关问题
- 1. 角rc3路由器 - 导航到具有不同参数的相同页面
- 2. ngOnInit在路由到相同的组件时不会被调用 - Angular 2
- 3. React路由器导航不会更改页面/组件
- 4. 骨干路由器,页面加载导航不会发生
- 5. Angular2路由导航到相同的页面
- 6. ngOnInit当相同的组件被加载不同的数据时不会调用
- 7. auth0路由器不会触发导航
- 8. 用于页面导航的路由器路径
- 9. RESTFUL路由使用相同的页面
- 10. 当前页面导航不同颜色
- 11. 没有铁路路由器的流星页面导航
- 12. 导航不同的页面
- 13. 不使用“路由器”的Durandal导航
- 14. 导航到JSF1.2中的相同页面
- 15. AngularJS用不同的控制器路由到不同的页面
- 16. Aurelia路由器导航不起作用
- 17. 反应路由器导航栏导航
- 18. 导航到不同页面的网页
- 19. NativeScript按钮点击事件不会在导航后调用ngOnInit,但onTap会做
- 20. express.js不是异步调用相同的路由器回调?
- 21. Webforms路由 - 相同的签名与不同的页面?
- 22. Backbonejs路由器导航功能不会触发路由器功能
- 23. 如何正确导航到相同和不同的页面
- 24. 当路由器参数到达路由器路径之前的角度导航
- 25. 在半个页面中反应路由器导航
- 26. webpack反应路由器无法导航子页面
- 27. 导航反应路由器
- 28. 反应路由器导航
- 29. 导航栏上不同大小的页面不同页面
- 30. 相同的页面JqueryMobile页面内的导航
Thx,很好的解决方案。干净我想。 – AntiCZ