我有一个路由配置
@RouteConfig([
{ path: '/', name: 'Start', component: Journal },
{ path: '/register', name: 'Register', component: Register },
{ path: '/login', name: 'Login', component: Login },
{ path: '/settings', name: 'Settings', component: Settings },
])
我想听听Journal的@Output发出的事件。当模板中唯一的引用是
<a class="nav-item nav-link" [routerLink]="['Journal']">Journal</a>
?
最佳答案
我意识到这已经很老了,但是将状态传递给路由是不可撤消的。这主要是因为routerLink
是通用的,可以容纳任何数量的潜在子代。因此,即使您可以传递状态或处理其事件,也将最终导致不必要的复杂性。
管理父组件和子组件之间状态的正确方法是shared service。从本质上讲,它可以归结为以下步骤:
这与传递给子级的状态以及从子级收到的通知同样有效,并且不会污染路由设置。