父组件给子组件传递一个事件,子组件通过 @Output 弹射触发事件,给父组件传值

  1. // 父组件
  2. <app-title (addList)="addListFun($event)"></app-title>
  3. export class HomeComponent implements OnInit {
  4. constructor() { }
  5. ngOnInit(): void {
  6. }
  7. list: Array<string> = ['1', '2', '3']
  8. addListFun(str: string) {
  9. this.list?.push(str)
  10. console.log(this.list)
  11. }
  12. }
  13. // 子组件
  14. import { Component, EventEmitter, OnInit, Output } from '@angular/core';
  15. export class TitleComponent implements OnInit {
  16. // 接收父组件传递的方法函数,自定义事件 new EventEmitter()
  17. @Output() addList = new EventEmitter()
  18. addPushList(v: string) {
  19. this.addList.emit(v)
  20. }
  21. constructor() { }
  22. ngOnInit(): void { }
  23. }
  24. // 子组件触发
  25. <button (click)="addPushList('vue')">子组件给父组件传值</button>