[英]What could be the best approach to pass data in nested child components, in Angular?
我有一个场景,例如
<parent-comp>
<side-bar></side-bar>
<item-details></item-details>
</parent-comp>
<side-bar>
<item-list></item-list>
</side-bar>
我需要将项目列表共享到组件“ItemListComponent”和“ItemDetailsComponent”中,并牢记层次结构
方法一
我可以从 ParentComponent 中的 ItemService 获取项目并通过属性/属性发送它<sidebar [pages]="pages"></sidebar>
>>> <item-list [pages]="pages"></item-list>
和<item-details[pages]="pages"></item-details>
我需要通过 SidebarComponent 传递数据以将其传输到 ItemListComponent。
方法二
从 ParentComponent 中的 ItemService 获取项目,而不是通过属性/属性传递,它发出数据(RxJs),比如事件名称“ItemDataFetched”,以及订阅该事件的 ItemList/ItemDetails 组件。
两者中最好的方法是什么? 或者还有其他更好的方法吗?
在此处查看: https : //angular.io/guide/component-interaction angular 团队提出的方法。
我会说输入绑定是大多数情况下的方法。
顺便说一句,我希望子组件通知父组件选择并仅将所选项目的页面传递给项目详细信息组件。 不是整个集合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.