成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院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號
А√天堂中文在线| 99国精品午夜福利视频不卡99| 亚洲色欲一区二区三区在线观看| 亚洲精品乱码久久久久久按摩| 亚洲人成人网站色www小说| 野花香在线视频免费观看第一集| 中日双语字幕高清在线观看| 99久久精品费精品国产一区二| А√天堂8资源中文在线| 高潮喷奶水在线播放视频| 中文字幕无码精品三级在线电影| 久久综合九色综合97欧美 | 亚洲AV日韩AV永久无码色欲| 免费看成人AV片| 国产乱来乱子视频| 18禁又污又黄又爽的网站不卡| 婷婷综合久久中文字幕蜜桃三电影| 人人爽人人澡人人人妻、百度| 国内精品久久久人妻中文字幕 | AV国内精品久久久久影院| 波多野结衣守望人妻理论| 国产成人AV免费网址| 皇帝在御花园进入贵妃的小说| 老妇高潮潮喷到猛进猛出| 人妻少妇88久久中文字幕| 天天综合天天做天天综合| 亚洲国产精品久久青草无码| 。国产精品麻豆成人AV网| 厨房里我扒了岳的内裤| 黑人巨根后入娇小女孩| 女人扒下裤让男人桶到爽| 唐人社视频呦一区二区| 亚洲中文无码AV永久不收费 | 人妻少妇乱孑伦无码专区蜜柚| 无码H肉3D动漫在线观看| 一二三四视频社区在线| 成人精品视频99在线观看免费| 国精产品一二二区视早餐有限| 免费播放AV网站的地址| 天堂А√资源中文在线地址BT | 蜜芽VA亚洲VA欧美VA天堂| 涩反差合集91综合一区二区清纯| 亚洲国产精品久久久久久| AV一本久道久久波多野结衣| 国产女人高潮视频在线观看| 免费高清特色大片在线观看| 推高她的裙子挺身而入| 中国女RAPPER大妈| 国产成人精品亚洲午夜麻豆| 两个女人互添下身爽舒服小说| 双腿吊起揉捏花蒂| 一区二区三区国产好的精华液| 公和我做好爽添厨房| 久久天天躁狠狠躁夜夜96流白浆| 少妇荡乳情欲办公室456视频| 亚洲伊人久久综合| 短篇公交车高H肉辣全集目录| 久久久精品人妻久久影视| 少妇把腿扒开让我添69动态图| 一区二区中文字幕最近第九页| 高清无码国产黄色视频人爽人一区二区| 久久精品国产99精品国产202 | 亚洲国产成在人网站天堂| 班长哭了能不能再抠游戏里面的钱| 精品人妻一区二区三区乱码| 色悠久久久久综合先锋影音下载| 野花香影院在线观看视频免费| 国产成人精品白浆久久69| 女学生14毛片视频片二毛| 亚洲大成色WWW永久泡芙| 成人无码AⅤ久久精品国产传媒| 久久久久亚洲AV无码观看| 无码人妻AV免费一区二区三区 | 国产美女裸体无遮挡免费视频| 欧美性爱亚洲色图| 亚洲欧洲日产国码无码| 国产成人午夜在线视频A站| 欧美交换配乱吟粗大免费看| 亚洲熟妇色自偷自拍另类| 国产精品69人妻无码久久久| 欧美一区二区三区成人片在线| 亚洲综合伊人久久综合| 国产欧美久久久精品影院| 日本老黄AAAAAAAAAAAA| 制服丝袜自拍另类第1页| 黑人大战欲求不满人妻| 熟妇高潮一区二区精品午夜无码 | 欧美熟妇精品一区二区蜜桃视频| 亚洲乱码日产精品B| 国产精品成人亚洲777| 人与野鲁交XXXⅩ视频| 中文字幕理伦午夜福利片| 精品亚洲国产成人蜜臀优播AV| 天堂资源とまりせっくす| 被滋润的娇妻疯狂呻吟| 免费天堂无码人妻成人AV电影| 亚洲人成网站精品片在线观看| 国产精品无码专区在线播放 | 免费一本色道久久一区| 亚洲线精品一区二区三区| 国产精品自在线拍国产手青青机版 | 日韩国产成人无码AV毛片蜜柚| 97人妻天天爽夜夜爽二区| 久久久久人妻一区精品色欧美 | 找老女人泻火对白自拍| 无人区码一码二码三码四码| 内射后入在线观看一区| 亚洲AV无码蜜臀久久寂寞少妇| 大炕上的肉体交换农村乱睡| 嫩模超大胆大尺度人体写真| 亚洲无线一二三四区手机| 国产品无码一区二区三区在线蜜桃| 日韩一区二区三区精品| 爱丫爱丫影院在线| 欧美国产成人久久精品| 又大又粗又爽的少妇免费视频 | 妇女被深耕过后的变化| 欧美三级一区二区| 99久久精品费精品国产一区二区| 美女内射毛片在线看| 伊人涩涩涩涩久久久AV | 亚洲乱码卡1卡2新区3| 好男人好资源电影在线播放| 亚洲AV无码成人黄网站在线观看| 国产麻豆精品一区二区三区V视界| 铜铜铜铜铜铜铜铜铜好多深| 国产成人综合亚洲AV第一页| 牲欲强的熟妇农村老妇女视频| 成年网站未满十八禁在线观看| 日本XXXX色视频在线观看免费| 扒掉内裤露出打嫩嫩的屁股| 全国主要城市天气预报| 被强迫的爱人 电影| 人妻丝袜中文无码AV影音先锋专| а天堂中文在线官网| 人妻中出无码一区二区三区| 成人国产精品一区二区免费| 日日狠狠久久偷偷色综合| 东京热人妻中文无码AV| 少妇乳大丰满在线播放| 国产成人无码精品一区在线观看 | 欧美性猛交ⅩXXX乱大交| JZZIJZZIJ日本成熟少妇| 忍着娇喘在公面前被夜袭| 苍井空无码免费换线| 少妇人妻无码专区视频| 国产成人啪精品视频免费软件| 无码少妇一区二区浪潮免费| 国产在线无遮挡免费观看| 亚洲欧美一区二区成人片| 久久无码专区国产精品| 337P日本欧洲亚洲大胆| 人妻少妇一区二区三区| 大屁股熟女一区二区三区| 我的私人女教师3| 果冻传媒MV免费播放在线观看 | 精品日本一区二区三区免费| 野花AⅤ亚洲高清完整版在线观看| 旧里番肉欲に堕ちた牝たち| 97色伦综合在线欧美视频| 日本动漫瀑乳H动漫啪啪免费| 国产成人AV综合亚洲色欲美女| 小东西几天没做又紧了| 久久不见久久见免费影院国语| 曰批免费视频免费无码软件| 人妻AV资源先锋影音AV资源| 国产成人亚洲精品另类动态| 亚洲乱码精品久久久久| 妺妺窝人体色www聚色窝| 成 人影片免费观看| 小蜜被两老头吸奶头在线观看| 久久精品日日躁夜夜躁欧美| 99久久99久久久精品齐齐综合| 色久综合网精品一区二区| 国产未成女一区二区| 伊人久久大香线蕉AV一区二区| 人C交ZO〇Z〇〇XX| 国产精品毛片一区二区三区| 亚洲熟妇成人精品二区蜜臀| 欧洲精品久久久AV无码电影| 国产黑色丝袜在线视频| 亚洲日韩精品A∨片无码加勒比 | 99精品电影一区二区免费看| 太深太粗太大太猛太爽了视频| 精品欧洲AV无码一区二区| AV人摸人人人澡人人超碰手机版| 熟妇人妻中文A∨无码| 久久ER热在这里只有精品66| YW尤物AV无码点击进入福利| 无码专区天天躁天天躁在线| 久久中文骚妇内射| 第一次接20厘米得黑人活| 亚洲精品无码乱码成人| 人妻丰满熟妇岳AV无码区HD| 国产亚洲精品精品国产亚洲综合 | 亚洲AV综合色区无码一区| 女儿男朋友是妈妈的爱豆的电视剧 | 日本AⅤ精品一区二区三区日| 国产永久AV福利在线观看| 99精品视频九九精品视频|