父子組件通訊

組件傳值 事件綁定

輸入 Input屬性通常接收數(shù)據(jù)值。 輸出 Output屬性暴露事件生產(chǎn)者,如 EventEmitter 對象。

//父組件
<app-test-details [hero]="hero" (setHero)="setHeroName($event)"></app-test-details>
//接收子組件事件
setHeroName(hero: Hero) {
    this.heros.forEach(val => {
      if (val.id === hero.id) {
        val.name = hero.name;
      }
    });
}
//子組件
import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';
export class TestDetailsComponent implements OnInit {
  //接收父組件數(shù)據(jù)
  @Input() hero: Hero;
  //@Input('newHero') hero: Hero;  //起別名  (不推薦起別名)
  //輸出方法
  @Output() setHero = new EventEmitter();
  updateHero() {
     //將數(shù)據(jù)傳遞給父組件   調(diào)用父組件事件
     this.setHero.emit(this.hero);
  }
}

父組件調(diào)用子組件事件

1.父組件與子組件通過本地變量互動

#hero

<app-test-details #child [hero]="hero"></app-test-details>
<button (click)="child .testParent()">click</button>

//子組件中定義方法
testParent() {
   console.log("子組件方法被調(diào)用")
}
2.父組件通過@ViewChild()調(diào)用子組件事件

@ViewChild()

import {Component, OnInit, ViewChild} from '@angular/core';
import {TestDetailsComponent} from '../test-details/test-details.component';
export class TestComponent implements OnInit {
  @ViewChild(TestDetailsComponent)
  child: TestDetailsComponent;
  constructor() {}
  clickTest() {
   //調(diào)用子組件事件
    this.child.testParent();
  }
}
3.父組件和子組件通過服務(wù)來通訊
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一. 單輸入型屬性傳遞與監(jiān)聽 通常父子組件傳遞信息的方法: 子組件通常含有輸入型屬性:通常帶有@input()裝飾...
    柳源居士閱讀 352評論 0 0
  • Vue父子組件通訊傳值 父組件往子組件傳值 子組件與父組件通信 方式1 采用中間件作為通訊中轉(zhuǎn)站實現(xiàn)子組件往父級組...
    進(jìn)擊的切圖仔閱讀 283評論 0 0
  • 父子組件通訊總結(jié)為 “ prop 向下傳遞,emit事件向上傳遞”。 父組件通過 prop 給子組件下發(fā)數(shù)據(jù),子組...
    阿木心閱讀 148評論 0 0
  • 組件間交互簡單來說就是讓兩個或多個組件之間共享信息。接下來我們就對Angular2組件間的交互做一個簡單的解...
    tuacy閱讀 1,275評論 0 2
  • 一、父組件 二、子組件 三、父組件通過props向子組件傳遞參數(shù),子組件通過調(diào)用父組件的回調(diào)函數(shù)callback并...
    胡_松閱讀 394評論 0 0

友情鏈接更多精彩內(nèi)容