将数据从子组件传递到子组件

时间:2019-06-15 08:15:42

标签: angular5 parent-child

我在父组件内部有两个子组件app-search和app-list,如下所示:

<app-search-panel (searchedParam)="childEventClicked($event)"></app-search-panel>
<app-list-panel [event]="searchedParam"></app-list-panel>

在应用程序搜索中,我有一个表单,该表单在提交值时将其传递给第二个孩子。

childEventClicked(event: any){
        console.log("dashboard", event);
        this.searchedParam = event;
    }

app-search-panel.ts

@Output() searchedParam = new EventEmitter();

onSubmit() {
 this.searchedParam.emit(cityName);
}

list-panel.ts

@Input() event: any;

我无法在此组件上获得价值。

有人可以帮助我吗?我犯了什么错误。

谢谢你。

1 个答案:

答案 0 :(得分:0)

@ Input,@ Output仅在组件为父代和子代的情况下才起作用,在您的情况下,两个子代均为同位,因此您不能在两个子代词之间直接进行插值

解决方案:

1>将数据传递给child1-> Parent ---> child2 2>使用主题或行为主题来传达两个组成部分。

您可以找到它作为第二种解决方法的参考

https://jasonwatmore.com/post/2019/02/07/angular-7-communicating-between-components-with-observable-subject