你可以管理的国家中的父母组件本身,只是将数据传递给你的 sidebar
和 conversation-detail
通过 @Input()
.
对于初学者来说,你可以做像这样的东西。
@Component({
selector: 'my-app',
template: `
<div class="row">
<div class="col-5">
<app-sidebar [convoList]="convoList" (userSelected)="selectUser($event)"></app-sidebar>
</div>
<div class="col-7">
<app-conversation-detail [conversation]="conversation">
</app-conversation-detail>
</div>
</div>`,
styleUrls: ['./app.component.css'],
})
export class AppComponent {
selectedUser = null;
conversation = null;
convoList = [];
constructor(private conversationService: ConversationService) {}
selectUser(user: string) {
this.selectedUser = user;
this.conversation = this.getConversationsOfUser(user);
}
getConversationsOfUser(user: string) {
return this.conversationService.getConversationOfUser(user);
}
}
你也可以使用一个更具反应性方法通过使用观测量.