将参数从组件传递给组件时,我们可以使用以下
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()
我从id
检索了this._heroService._dataStore.hero.id
。这使URL更加清晰。
我的问题是这种方法有什么缺点吗?如果是的话,人们会解决这些问题?
答案 0 :(得分:1)
我认为一个缺点是,如果它是url参数,您将无法刷新页面并保留数据。