要在父组件中获取子组件中的事件,可以使用Angular的@ViewChild装饰器。下面是一个使用routerLink在父组件上获取事件的代码示例:
父组件模板(parent.component.html):
父组件
父组件类(parent.component.ts):
import { Component, ViewChild } from '@angular/core';
import { ChildComponent } from './child.component';
@Component({
selector: 'parent-component',
templateUrl: './parent.component.html',
styleUrls: ['./parent.component.css']
})
export class ParentComponent {
@ViewChild('childComponent') childComponent: ChildComponent;
childComponentEvent() {
this.childComponent.someEvent.emit('父组件收到子组件事件');
}
}
子组件模板(child.component.html):
子组件
子组件类(child.component.ts):
import { Component, EventEmitter, Output } from '@angular/core';
@Component({
selector: 'child-component',
templateUrl: './child.component.html',
styleUrls: ['./child.component.css']
})
export class ChildComponent {
@Output() someEvent = new EventEmitter();
emitEvent() {
this.someEvent.emit('子组件事件');
}
}
在上面的示例中,父组件通过@ViewChild装饰器引用了子组件,并可以直接调用子组件的方法或访问子组件的属性。当父组件中的按钮被点击时,调用childComponentEvent方法,在该方法中通过this.childComponent来触发子组件的事件。
您可以在父组件中订阅子组件的事件并处理它。