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

首頁 > 編程 > JavaScript > 正文

Angular自定義組件實現數據雙向數據綁定的實例

2019-11-19 14:45:38
字體:
來源:轉載
供稿:網友

學過Angular的同學都知道,輸入框通過[(ngModel)]實現雙向數據綁定,那么自定義組件能不能實現雙向數據綁定呢?答案是肯定的。

Angular中,我們常常需要通過方括號[]和圓括號()實現組件間的交互:

那么在[]()的基礎上,如何實現組件的雙向數據綁定?

例子如下。

子組件:

<!--testDataBinding.component.html--><h1>childStatus: {{childStatus}}</h1>
//testDataBinding.component.tsexport class TestDataBindingComponent implements OnInit{ @Input() childStatus; @Output() childStatusChange = new EventEmitter(); ngOnInit(){ setTimeout(()=>{  this.childStatus = false;  this.childStatusChange.emit(this.childStatus); },5000); }}

注意這里的寫法,這是關鍵所在,輸出屬性前半部分必須與輸入屬性相同,輸入屬性可以隨意取名,輸出屬性需在輸入屬性基礎上加上Change,比如你的輸入屬性是myData,那么輸出屬性就必須是myDataChange。

父組件:

<!--app.component.html--><test-binding [(childStatus)]="parentStatus"></test-binding><h1>parentStatus: {{parentStatus}}</h1>
//app.component.tsimport { Component,OnInit } from '@angular/core';@Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.css']})export class AppComponent implements OnInit{ parentStatus: boolean = true; ngOnInit(){ setTimeout(()=>{  this.parentStatus = true; },10000); }}

在父組件我們初始化parentStatustrue,并把它傳到子組件TestDataBindingComponent

在子組件里,5秒后我們把childStatus設為false,看它能不能傳到父組件。再過5秒,我們在父組件將parentStatus設為true,看它能不能傳到子組件。

事實證明,子組件值變化后,父組件的值也跟著變化;父組件值變化后子組件的值也跟著變了!

我們實現了雙向綁定!

查看本文代碼和效果,可點擊這里

以上這篇Angular自定義組件實現數據雙向數據綁定的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祁门县| 太保市| 南城县| 绥芬河市| 辽阳市| 成安县| 汽车| 普兰店市| 保山市| 东乡县| 昌都县| 高陵县| 花莲县| 商洛市| 嘉黎县| 西畴县| 东方市| 新和县| 遂平县| 衢州市| 宁陵县| 鄂伦春自治旗| 阿拉尔市| 墨江| 巩义市| 启东市| 谷城县| 江川县| 满洲里市| 梁河县| 左云县| 莱州市| 辛集市| 福安市| 聊城市| 古浪县| 富锦市| 无锡市| 克山县| 晋城| 类乌齐县|