我打电话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. React路由器导航不会更改页面/组件
- 2. 骨干路由器,页面加载导航不会发生
- 3. ngOnInit在路由到相同的组件时不会被调用 - Angular 2
- 4. Angular2路由导航到相同的页面
- 5. auth0路由器不会触发导航
- 6. ngOnInit当相同的组件被加载不同的数据时不会调用
- 7. RESTFUL路由使用相同的页面
- 8. 没有铁路路由器的流星页面导航
- 9. 导航不同的页面
- 10. Aurelia路由器导航不起作用
- 11. Webforms路由 - 相同的签名与不同的页面?
- 12. NativeScript按钮点击事件不会在导航后调用ngOnInit,但onTap会做
- 13. 如何正确导航到相同和不同的页面
- 14. 当路由器参数到达路由器路径之前的角度导航
- 15. 在半个页面中反应路由器导航
- 16. 导航栏上不同大小的页面不同页面
- 17. 相同的页面JqueryMobile页面内的导航
- 18. 反应路由器导航
- 19. Ember不会调用路由器的setupController
- 20. 页面导航3路线
- 21. 反应路由器更改导航,但不使用REDX呈现页面
- 22. 阵营路由器副路径调用不同的父路由
- 23. 反应路由器导航不工作
- 24. 如何为包括UI的路由器不同的导航面板
- 25. 不同的页面导航栏
- 26. Zend导航和Zend路由器问题 - 找不到正确的活动页面
- 27. Backbone.js将不会路由到与当前URL相同的URL
- 28. Angularjs路由到不同的布局页面使用UI路由器
- 29. 当页面被路由到
- 30. tr:commandLink操作方法不会导航到下一个页面。反而会再次加载相同的页面
Thx,很好的解决方案。干净我想。 – AntiCZ