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

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 15:41:23
字體:
來源:轉載
供稿:網友

本文介紹了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); }}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 手机| 邯郸市| 廉江市| 崇左市| 遂川县| 佛山市| 牟定县| 朝阳县| 石首市| 东明县| 百色市| 丹寨县| 安平县| 肃宁县| 竹北市| 西城区| 江达县| 郸城县| 瑞昌市| 平塘县| 鸡泽县| 濉溪县| 黎城县| 深州市| 柘荣县| 开远市| 霍州市| 和顺县| 石嘴山市| 石台县| 平阴县| 长汀县| 武义县| 乐安县| 通辽市| 卓尼县| 蚌埠市| 安岳县| 宁蒗| 扎赉特旗| 三门峡市|