前言
在上篇文章的demo中,我们采取了参数快照的方式来获取URL传递过来的参数,(详见上篇博文)获取参数的方式不仅仅有参数快照还有参数订阅,那他们之前效果有怎样的差别,实现方式上又有什么不同呢? 小编接下来分享给大家。
参数快照展示:
出现的问题
我们会发现,当点击主页之后再点击商品详情连接,或者商品详情按钮的时候,参数都可以被正确的拿到。 但是点击完商品详情连接再点击商品详情按钮的时候,参数却不能正确的被获取了。
问题解析:
(1)从home组件路由到product组件时候,product组件被创建,这时它的的constructor方法被调用,ngonInit()被调用一次,页面上的参数id会根据URL信息拿到正确的参数。
(2)当我们从product组件又调到product组件时,由于在product组件已经被创建过一次了,所以constructor()方法不会被调用,所以oninit方法也不会再调用 ,所以id属性依然保持着第一次被创建时赋予的值。
参数订阅
解决参数快照问题的方式叫做参数订阅&#x