我想从子组件进行导航,这些组件在router-outlet 内部渲染. 我的父组件有一个路由配置,我想在某些事件上手动导航.但我不知道如何在没有输出的情况下将一些数据(用于导航)从子对象传递给父对象.因为这个建筑是不工作的
<router-outlet (navigateTo)="navigateToMessagePart($event)"></router-outlet>
我怎么能用正确的方式做呢?也许是从子元素那里导航?但我如何从child获得父方法.
我想从子组件进行导航,这些组件在router-outlet 内部渲染. 我的父组件有一个路由配置,我想在某些事件上手动导航.但我不知道如何在没有输出的情况下将一些数据(用于导航)从子对象传递给父对象.因为这个建筑是不工作的
<router-outlet (navigateTo)="navigateToMessagePart($event)"></router-outlet>
我怎么能用正确的方式做呢?也许是从子元素那里导航?但我如何从child获得父方法.
<router-outlet></router-outlet>
只是用于添加布线元件的占位符.不支持任何类型的绑定.
您可以创建一个自定义的<router-outlet>
,它允许您这样做,或者更常见地使用共享服务在父组件和路由组件之间进行通信.
有关更多详细信息,请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html
update
现在有一个事件允许获取添加的组件
<router-outlet (activate)="componentAdded($event)" (deactivate)="componentRemoved($event)"></router-outlet>
它允许与componentAdded()
中的组件进行通信(调用getter、setter和方法)
不过,共享服务是首选的方式.