![](/img/trans.png)
[英]How to pass data from Child to Parent, if Child component dynamic component
[英]How to pass dynamic data to child component in angular 4?
我有一个父组件,一旦我在父组件中收到响应,我就必须将数据传递给子组件。
挑战
1)我必须等待传递数据,直到我在父组件中收到响应。
2)一旦我将从子组件接收数据,我想在子组件中执行特定功能。
父组件.ts
JSON.parse(this.responseData, (key, value) => {
if (key === 'patient-list') {
this.mrn = this.totalPatientList[0]['value']['patientmrn'];
}
});
父组件.html
<router-outlet></router-outlet>
子组件.html
@Input() patientdata:any;
ngAfterViewChecked(){
console.log('Data Received -----', this.patientdata);
}
我希望我能够向大家解释我的问题。
您的示例中没有子/父通信,因为它需要一个组件直接位于父 component.html 中。
您需要依靠防护解析器才能在数据接收时加载“Child”。
您正在使用路由,也许最好的方法是使用单例服务来进行两个组件的通信。
所有其他答案都是明智的,并且可以正常工作。
另一种方法是使用@ngrx来管理状态并启用单向数据流到您的组件。
我在将动态数据从父级传递给子级时遇到问题,四处搜索但没有得到任何帮助。 最后我尝试了这个,它对我非常有用。 试试这个,它可能对你有帮助。
子组件:
export class ChildComponent {
@Input() title: string;
//rest code goes here...
}
父组件:
export class ParentComponent {
headerTitle: string = '';
//rest code ...
//on click changing the value
onHeaderChange() {
this.headerTitle = "MyHeader";
}
}
在父组件 html 文件中放置如下代码,带单引号
<child-component [title]='headerTitle'></child-component>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.