成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

淺談Angular組件之間通信的5種方法

Angular組件間怎么通信?下面本篇文章給大家介紹一下Angular組件之間通信的5種方法,有需要的可以參考~

淺談Angular組件之間通信的5種方法

組件是angular的構建單元,在項目中為了保證組件之間的數據能夠來回的傳遞,angular封裝了一些能夠實現組件之間通信的方法。【相關教程推薦:《angular教程》】

一、父組件通過輸入型綁定將數據傳遞給子組件

父組件

parent.component.ts

age = 18; name = '  xiaoming '

parent.component.html

<app-child-1 [age]="age" [name]="name"></app-child-1>

子組件

child1.component.ts

@Input() age!: number;

截聽輸入屬性值的變化

1、使用一個輸入屬性的 setter,以攔截父組件中值的變化,并采取行動。

child1.component.ts

@Input() set name(name: string) {     this._name = name.trim(); } private _name: string;

2、使用 ngOnChanges()鉤子函數來監測輸入屬性值的變化并做出回應。當需要監視多個、交互式輸入屬性的時候,本方法比用屬性的 setter 更合適。

child1.component.ts

ngOnChanges(changes: SimpleChanges): void {     console.log(changes); }

我們可以通過angular官方提供的類型描述文件了解到SimpleChange的相關屬性:

淺談Angular組件之間通信的5種方法

淺談Angular組件之間通信的5種方法

二、父組件監聽子組件的事件獲取子組件傳遞給父組件的值

子組件暴露一個EventEmitter(帶有@Output裝飾器)屬性,當事件發生時,子組件利用該屬性emit事件往父組件發射值。父組件綁定到這個事件屬性,并在事件發生時作出回應。

子組件

child1.component.ts

@Output() voted = new EventEmitter<boolean>(); emitValue(): void {     this.voted.emit(true); }

child1.component.html

<button (click)="emitValue()">Click</button>

父組件

parent.component.html

<app-child-1 [age]="age" [name]="name" (voted)="getChildParam($event)"></app-child-1>

parent.component.ts

getChildParam(value: boolean): void {     console.log(value); // true }

三、父組件通過本地變量(#varibleName)在模板中讀取子組件的屬性和調用子組件的方法

子組件

child1.component.ts

address = 'Shanghai'; setAddress(address: string): void {     this.address = address; }

父組件

parent.component.html

<app-child-1 [age]="age" [name]="name" (voted)="getChildParam($event)" #child1Component></app-child-1> <div>{{child1Component.address}}</div> <button (click)="child1Component.setAddress('Beijing')">Click</button>

局限性:父組件-子組件的連接必須全部在父組件的模板中進行。如果父組件的類需要讀取子組件的屬性值或調用子組件的方法,就不能使用本地變量方法。

四、父組件調用@ViewChild

當父組件的類需要讀取子組件的屬性值或調用子組件的方法,就不能使用本地變量方法;如果有這種需求時,我們可以通過@ViewChild把子組件注入到父組件中;

父組件

parent.component.ts

@ViewChild(Child1Component) private child1Component!: Child1Component;

可以通過child1Component變量訪問子組件的屬性和方法;

五、利用共享服務實現任意組件之間的通信

為了實現任意組件之間的通信,我們可以結合Rxjs中的BehaviorSubject對象來創建一個共享服務;BehaviorSubject的使用可以參考這篇博客blog.tcs-y.com/2019/10/08/…

創建dataService.ts

import {BehaviorSubject} from 'rxjs'; import { Injectable} from '@angular/core'; @Injectable(   {providedIn: 'root'} ) export class DataService {   data: BehaviorSubject<number> = new BehaviorSubject<number>(0); }

在組件1的構造函數中注入服務并設置data

child1.component.ts

constructor(private dataService: DataService) {}     // 設置data的值 changeData(): void {     this.dataService.data.next(10); }

child1.component.html

<button (click)="changeData()">Click</button>

在組件2的構造函數中注入服務并訂閱data

child2.component.ts

constructor(private dataService: DataService) {     this.dataService.data.subscribe(value => {         console.log(value); // 10     }); }

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲AV无码一区二区三区乱码4 | 人人做人碰人人添| 狠狠色噜噜狠狠狠888米奇视频| 亚洲AV日韩精品久久久久| 日韩精品免费一线在线观看| 男女交性视频无遮挡全过程| 久久WWW免费人成一看片| 国产精品久久久久7777| 成年女人A级毛片免费观看| 午夜香吻高清观看视频在线| 三个男人换着躁我一| 欧美精品久久久久久久自慰| 久久亚洲色一区二区三区| 红杏亚洲影院一区二区三区| 国产精品免费一区二区三区四区| 成人伊人亚洲人综合网| YELLOW片观看完整版| 7777色情XXXX欧美| 在线观看亚洲AV每日更新无码 | 伊人久久大香线蕉综合网站| 亚洲AV无码久久精品蜜桃| 我的风流岳每2部集第| 色欲AV蜜臀AV在线观看麻豆| 日本最新高清一区二区三| 人妻少妇精品专区性色AV| 青草伊人久久综在合线亚洲| 欧美成人在线最新| 欧美成人精品a∨在线观看| 日韩一区无码视频| 亚洲AV无一区二区三区久久| 中文字幕久无码免费久久| 在线人成视频播放午夜福利| 孕交VIDEOSGRATIS乌| 八戒八戒WWW资源高清| 菠萝蜜国际通道一区麻豆| 爆乳大森しずか无码| 超碰97中文字幕总站| 国产内射爽爽大片视频社区在线 | 人妻一区二区三区在线| 欧美性XXXXX极品| 欧洲肉欲K8播放毛片护士报告| 视频二区精品中文字幕| 天天狠天天透天天伊人| 我被八个男人玩到早上| 亚洲色18成人网站WWW| 夜鲁鲁鲁夜夜综合视频欧美| 中国CHAIN同志GAY片国产| 大码HIPHOP欧美胖MM短袖| 隔着肚兜偷揉酥乳含乳子| 国产SM重口调教在线观看| 国产精品视频色尤物YW| 两女女百合互慰AV赤裸无遮挡| 蜜桃无码一区二区三区| 女儿的朋友5中汉字晋通话 | 少妇VIDES裸体BBWWHD| 熟妇人妻AV中文字幕老熟妇 | 欧美性操大鸡狠狠| 亚洲成AV人片无码天堂下载| 亚洲国产中文在线二区三区免| 亚洲乱码无人区卡1卡2卡3| 一女多男3根一起进去爽吗| 69无人区码一二三四区别| 国产精华液一二三区别| 韩漫无羞遮无删减漫免费| 久久精品国产99精品国产2| 满熟妇XXXX性久久9久久| 欧美黑人粗大猛烈18P| 亚洲AV成人一区二区三区在线看| 亚洲婷婷五月激情综合APP | 爱性久久久久久久久| 精品一区二区三区国产在线观看| 久久永久免费人妻精品直播| 无码 制服 丝袜 国产 另类| 97人人模人人爽人人少妇| 成人糖心VLOG视频| 久久婷婷五月综合尤物色国产| 女人脱精光让人桶爽了| 肉色超薄丝袜脚交一区二区| 亚洲一区二区无码成人AV| 国产精品18HDXXXⅩ| 精品人人妻人人爽D∨D| 免费无码AV片在线观看网站| 日韩人妻潮喷中文在线视频| 性色AⅤ一区二区三区天美传媒| 亚洲午夜无码片在线观看影院百度| 高雅人妻被迫沦为玩物电影BD| 嫩草在线视频WWW免费看| 亚洲国产精品日韩AV不卡在线| 18禁动漫无码无遮挡免费看| 嘼皇PORONOⅤIDEOS极| 国产专区国产AV| 毛卡5卡6卡7卡8入口| 小SB是不是想被C了| 啊别插了视频髙清在线观看| 天干天干天啪啪夜爽爽AV| 性妇WBBBB搡BBBB嗓1| 别揉我奶头~嗯~啊~视频在线观| 久久夜色撩人精品国产| 亚洲不乱码卡一卡二卡4卡5卡| 2021网站无需下载急急急| 公交车被CAO得合不拢腿视频| 年轻丰满的继牳3免费看| 亚洲综合成人婷婷五月在线观看| 波多野结衣乳巨码无在线| 免费观看18禁无遮挡真人网站| 调教狠扇打肿私密跪撅屁股作文| 亚洲午夜无码片在线观看影院百度| 国产精品揄拍100视频| 免费直播视频在线观看| 亚洲综合国产成人丁香五月激情| 国语对白露脸XXXXXX| 欧美熟妇的性裸交| 中文字幕被公侵犯的漂亮人妻| 久久久国产精品亚洲一区| 乳奴调教榨乳器拘束机器| JAGNEXSMAX在日本| 精品国产亚洲一区二区三区在线观| 全部AV―极品视觉盛宴| 亚洲精品卡2卡3卡4卡5卡区| 波多野结衣AV中文一区二区三区 | 亚洲国产精品国自产拍电影| 国产肉体XXXX裸体XXXX| 男女真人后进式猛烈动态图无打吗| 亚洲字幕AV一区二区三区四区| 精品久久久久久国产牛牛| 日韩一区二区三区射精| 不卡高清AV手机在线观看| 欧美性XXXX极品少妇| AV无码久久久精品免费| 精品久久久久久中文字幕202| 亚洲AV无码专区亚洲AV桃| 国产亚洲成AⅤ人片在线观看| 人妻无码ΑV中文字幕久久琪琪布| 91人妻人人澡人人爽人人精品 | 精品久久久久久无码人妻蜜桃 | 小雪要撑破了黑人好大| 国产肉体XXXX裸体137大胆| 性色A∨精品高清在线观看| 国产亚洲精品A在线观看APP| 亚洲AV午夜精品一区二区三区| 国产亚洲欧美精品一区| 亚洲ΑV久久久噜噜噜噜噜| 精东传媒一二三区进站口| 双乳被一左一右吃着的小说| 丰满人妻熟妇乱偷人无码出轨| 男女后进式猛烈XX00动态图片| 24小时日本在线| 欧美午夜一区二区福利视频| XOXOXO性ⅩYY欧美人与人| 日本免费人成视频播放试看| 中文字幕色AV一区二区三区| 男女久久久国产一区二区三区| 99视频国产精品免费观看| 久草热8精品视频在线观看| 夜鲁鲁鲁夜夜综合视频欧美| 免费无码AV电影在线观看| CSGO大姐姐AWP多少钱| 毛片亚洲AV无码精品国产午夜| 中文字幕一区二区人妻性色| 久久久久久精品免费免费69| 亚洲AV无码国产精品色午夜字幕 | 女人下边水润紧致好处| 八戒网站免费观看视频| 首页 图区 国产 亚洲 欧美| 国产一区日韩二区欧美三区| 他的白月光H1∨1笔趣阁| 国产美女极度色诱视频WWW| 四虎成人精品一区二区免费网站| 国产精品一区理论片| 亚洲乱码中文字幕综合234| 民工把我奶头掏出来了怎么办 | 日韩精品免费无码专区| 国产免费看MV大片的软件| 亚洲色自偷自拍另类小说| 女的把腿张开男的往里面插| 肥臂熟妇高潮一区二区三区| 人妻无码一区二区三区免费| 国产99久久九九精品无码| 色综合色天天久久婷婷基地| 国产啪精品视频网站免费尤物| 亚洲午夜无码毛片av| 奇米精品视频一区二区三区| 国产精品99久久久精品无码| 亚洲午夜无码久久久久蜜臀AV| 欧美亚洲国产精品久久蜜芽直播| 18禁成人黄网站免费观看| 色天使色偷偷色噜噜噜AV天堂| 成人A级毛片无码免费| 香蕉久久人人97超碰CAOPR| 久久久久亚洲AV综合仓井空 | JIZZJIZZJIZZ日本丰| 欧美老妇BBBWWBBBWW| AAA少妇高潮大片免费看| 天天躁日日躁狠狠躁人妻| 久久精品国产亚洲AⅤ无码| 八区精品色欲人妻综合网| 亚洲成av人片在线观看| 欧美精品VIDEOSSEX少妇| 国产女人18毛片水真多| 18一20亚洲GAY无套|