我有一个父组件,里面有两个不同的子组件。 当我单击第一个子组件中的链接时,需要从第一个子组件中调用第二个子组件的函数。如何从一个子组件访问Angular 4中的另一个子组件
所以这是一个基本的图来更好地解释:
我有一个父组件,里面有两个不同的子组件。 当我单击第一个子组件中的链接时,需要从第一个子组件中调用第二个子组件的函数。如何从一个子组件访问Angular 4中的另一个子组件
所以这是一个基本的图来更好地解释:
你可以通过ViewChild
手段和archieve这Output
例如:
@Component({
template: '
<child-one (clicked)="handleClick()"></child-one>
<child-two></child-two>
'
})
export class ParentComponent {
@ViewChild(ChildOneComponent)
childOne: ChildOneComponent;
handleClick(){
this.childOne.doSomething();
}
}
在这种情况下, :
clicked
是ChildOneComponent
doSomething
一个Ouput
属性的公共方法另一种方法仅尤斯Output
和可变模板
@Component({
template: '
<child-one (clicked)="childTwo.doSomething()"></child-one>
<child-two #childTwo></child-two>
'
})
export class ParentComponent {
}
感谢你,实际上现在我正在尝试这样做。一旦完成,我会再写一次。 –
谢谢,我终于用这种方式管理,也是这一个也帮助我,https://stackoverflow.com/questions/41954484/communicate-between-two-child-components-in-angular-2 –
另一个解决方案是使用这两个组件之间的服务,在上面的链接中也提到了这一点 –
https://angular.io/guide/component -interraction – onetwo12
自定义指令或管道可能是这里的正确方法 –
请参阅本文[**答案**](https://stackoverflow.com/questi ons/44869853 /通过数据从父母到孩子通过模板/ 44870116)#44870116) – Aravind