快照(snapshot)和订阅(subscribe)的效果示意


备注:和同事分享“路由入门"知识,介绍到传递参数和接受参数时,同事提出想要了解快照和订阅的实际效果,然后我进行了学习,并把它分享出来,希望能对大家有所帮助。

问题的关键:

Angular 的router自身调用自身时(不刷新页面),除了第一次进入页面时会调用ngOnInit()方法,其他情况不会调用ngOnInit();

代码

1. layout.html

2. demo/prectise/flexbox.html

3. demo/prectise/flexbox.ts

演示效果:

第一次进入页面:

点击了“自身跳转按钮”:

结论:

当我们获取路由参数的时候 ,确定不会从自身路由到自身,可以使用参数快照来获取参数,否则,需要使用参数订阅的方式来获取参数。