Angular中@Output()的使用方法

子component中的html文件

<button (click)="Send()">送出</button><br>

子component中的ts文件

import { Component, OnInit, Output } from '@angular/core';
import { EventEmitter } from '@angular/core';

@Component({
  selector: 'app-todo-input',
  templateUrl: './todo-input.component.html',
  styleUrls: ['./todo-input.component.css']
})
export class TodoInputComponent implements OnInit {
  public content: string;
  @Output() onSend: EventEmitter<string> = new EventEmitter<string>();
  constructor() { }

  ngOnInit(): void {
    this.content = "Hello";
  }

  Send(){
    this.onSend.emit(this.content);
  }
}

父component中的html

<app-todo-input (onSend)="onSend($event)"></app-todo-input>

父component中的ts

import { Component, OnInit } from '@angular/core';
import {Todo} from '../../models/todo'

@Component({
  selector: 'app-todo',
  templateUrl: './todo.component.html',
  styleUrls: ['./todo.component.css']
})
export class TodoComponent implements OnInit {

  public List:Todo[]=[];

  constructor() { }

  ngOnInit(): void {
    // this.List = [ 
    //   {id:1,content:'Test'},
    //   {id:2,content:'Test2'},
    //   {id:3,content:'Test3'},
    // ];
  }
  onSend(content: string){
    alert(content);
  }

}

 



posted @ 2021-09-27 09:12  Magi黄元  阅读(612)  评论(0编辑  收藏  举报