我希望NodeComponent将参数传输到LayoutComponent。
const routes: Routes = [{
path: '',
component: LayoutComponent,
children: [{
path: '',
component: IndexComponent
}, {
path: 'node/:nodeId',
component: NodeComponent
}]
}];
答案 0 :(得分:1)
我假设您的LayoutComponent
具有<router-outlet>
占位符,它将根据路由器为您提供适当的组件。
在这种情况下,您无法将@Output
从NodeComponent发送到LayoutComponent,但是可以轻松地通过service
共享数据。
创建一个service
,它将保留您的Node
变量/逻辑并更新NodeComponent
中的数据。这样,LayoutComponent
将能够读取它。
示例:
@Injectable()
export class NodeService {
// Feel free to define observables, other variables or object
nodeTitle: string;
nodeBtnEvent: Event;
setNodeData(nodeTitle, event, ...){
// Assign the variables or do something
}
getNodeData() {
return {
nodeTitle,
nodeBtnEvent
}
}
constructor() {}
}
使用setter从NodeComponent
中添加数据,并使用getter从LayoutComponent
中获取数据。
祝你好运!