当参数从一个组件传递到另一个组件时,我们可以使用以下
onSelect(hero: Hero) {
this.router.navigate( ['HeroDetail', { id: hero.id }] );
}
但是,当要传递的数据很复杂时,上述内容将使URL看起来很混乱。我尝试通过父级别的服务传递参数,它工作正常。然后onSelect()
变成
onSelect(hero: Hero) {
this._heroService._dataStore.hero = hero;
this.router.navigate( ['HeroDetail' );
}
在ngInit()
中,我从this._heroService._dataStore.hero.id
中检索了id
.这使 URL 更加干净。
我的问题是这种方法有什么缺点吗?如果是,人们如何解决这些缺点?
我认为一个缺点是您将无法刷新页面并像 url 参数那样保留数据。