2017-07-18 77 views
0

我有一个父组件,里面有两个不同的子组件。 当我单击第一个子组件中的链接时,需要从第一个子组件中调用第二个子组件的函数。如何从一个子组件访问Angular 4中的另一个子组件

所以这是一个基本的图来更好地解释:

enter image description here

+0

https://angular.io/guide/component -interraction – onetwo12

+0

自定义指令或管道可能是这里的正确方法 –

+1

请参阅本文[**答案**](https://stackoverflow.com/questi ons/44869853 /通过数据从父母到孩子通过模板/ 44870116)#44870116) – Aravind

回答

1

你可以通过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(); 
    } 
} 

在这种情况下, :

  • clickedChildOneComponent
  • doSomething一个Ouput属性的公共方法

另一种方法仅尤斯Output和可变模板

@Component({ 
     template: ' 
     <child-one (clicked)="childTwo.doSomething()"></child-one> 
     <child-two #childTwo></child-two> 
     ' 
    }) 
    export class ParentComponent { 

    } 
+0

感谢你,实际上现在我正在尝试这样做。一旦完成,我会再写一次。 –

+0

谢谢,我终于用这种方式管理,也是这一个也帮助我,https://stackoverflow.com/questions/41954484/communicate-between-two-child-components-in-angular-2 –

+0

另一个解决方案是使用这两个组件之间的服务,在上面的链接中也提到了这一点 –

相关问题