国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Angular2 組件間通過@Input @Output通訊示例

2024-05-06 15:12:22
字體:
來源:轉載
供稿:網友

本文介紹了Angular2 組件間通過@Input @Output通訊示例,分享給大家,具體如下:

父組件傳給子組件:

子組件設置@Input屬性,父組件即可通過設置html屬性給子組件傳值。

子組件:

 @Input() title:string; _name:string = ''; @Input() set name(name:string) {  this._name=(name&&name.trim())||''; }

上面的代碼設置了兩個可供父組件傳入的屬性:title和name,當設置name屬性時,set name(name:string)方法會執行,如果不需要處理setter,那么用title的形式,一行代碼聲明即可.

父組件調用:

<app-header [title]="title" name="姓名"></app-header>

調用方法有兩種,屬性名用中括號包圍的title,值title是父組件中的對象名,而name沒有用中括號,后面的值就是傳給子組件的字符串。當然,不用中括號,也可以用{{name}}傳對象的值。

如果要監聽傳入屬性值的變化,可以在子組件實現OnChanges(@angular/core中)接口:

export class HeaderComponent implements OnChanges { ngOnChanges(changes: SimpleChanges): void {  console.log(changes['title']); } @Input() title:string; _name:string = ''; @Input() set name(name:string) {  this._name=(name&&name.trim())||''; }}

SimpleChanges 是一個用屬性名作key的數組,通過屬性名取出對象,對象里包含該屬性變化前(previousValue)后(currentValue)的值。

父組件監聽子組件變化

子組件通過@Output()暴露EventEmitter,父組件在聲明子組件時增加EventEmitter的回調方法,子組件在需要的時候彈射事件,父組件的回調方法里就能收到。

子組件:

export class HeaderComponent implements OnChanges { ngOnChanges(changes: SimpleChanges): void {  console.log(changes['title']); } @Input() title:string; _name:string = ''; @Input() set name(name:string) {  this._name=(name&&name.trim())||''; } //聲明事件發射器 @Output() checkEmitter=new EventEmitter<boolean>(); //用于綁定checkbox的checked屬性 isChecked=true; toggle() {  this.isChecked=!this.isChecked;  //發射事件  this.checkEmitter.emit(this.isChecked); }}

子組件模板:

<p> {{title}}</p><p><input type="checkbox" name="cb" [(ngModel)]="isChecked" (click)="toggle()" />Checkbox <br /></p>

父組件中聲明:

代碼如下:
<app-header [title]="title" name="{{name}}" (checkEmitter)="onCheckedChange($event)" ></app-header>

父組件事件回調接收:

export class AppComponent implements AfterViewInit{ ngAfterViewInit() { } onCheckedChange(isChecked:boolean) {  console.log("checkbox選中狀態:"+isChecked); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 安化县| 建瓯市| 成都市| 英德市| 隆子县| 呼和浩特市| 河北省| 巴林右旗| 托克托县| 吉木乃县| 昌宁县| 万山特区| 淄博市| 龙川县| 望都县| 慈溪市| 弋阳县| 阜城县| 陇川县| 福贡县| 安吉县| 拜城县| 邹平县| 合阳县| 石景山区| 潮安县| 若羌县| 承德市| 将乐县| 正阳县| 盐边县| 祁阳县| 岑巩县| 揭阳市| 古田县| 平谷区| 伊春市| 乌恰县| 陇南市| 镇赉县| 固始县|