在Angular 2中,要调用同级组件中的函数,可以使用@ViewChild装饰器和ElementRef来实现。
首先,在调用组件的父组件中,使用@ViewChild装饰器来获取对应的子组件实例。例如,假设要调用的组件名为ChildComponent,可以在父组件中的类定义中添加以下代码:
import { Component, ViewChild, ElementRef } from '@angular/core';
import { ChildComponent } from './child.component';
@Component({
selector: 'app-parent',
template: `
<app-child></app-child>
<button (click)="callChildFunction()">调用子组件函数</button>
`
})
export class ParentComponent {
@ViewChild(ChildComponent) childComponent: ChildComponent;
callChildFunction() {
this.childComponent.childFunction();
}
}
然后,在子组件中,定义需要调用的函数。例如,假设要调用的函数名为childFunction,可以在子组件的类定义中添加以下代码:
import { Component } from '@angular/core';
@Component({
selector: 'app-child',
template: `
<p>子组件</p>
`
})
export class ChildComponent {
childFunction() {
console.log('调用了子组件的函数');
}
}
这样,当父组件中的按钮被点击时,调用callChildFunction
函数,该函数会调用子组件中的childFunction
函数,并在控制台输出"调用了子组件的函数"。
需要注意的是,@ViewChild装饰器中传入的参数是子组件的类型,而不是子组件的选择器。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云