Angular 2父子組件數(shù)據(jù)傳遞之@Input和@Output詳解 (上)
前言
為了讓大家學(xué)習(xí)起來輕松、易懂,小編盡量做到篇幅短,語言通俗易懂,知識(shí)點(diǎn)分段來講,以免太長了看起來很累,也很容易失去耐心閱讀下去,希望大家理解和支持,同時(shí)希望大家點(diǎn)贊和分享出去,讓更多的志同道合的朋友來學(xué)習(xí)
Angular 提供了@Input和@Output語法來處理組件數(shù)據(jù)的流入流出,接下來我們通過@Input和@Output來演示父子組建之間的數(shù)據(jù)傳遞
父組件向子組件傳遞數(shù)據(jù)
父組件傳遞數(shù)據(jù)到子組件通過@Input方式的現(xiàn)實(shí)方式
第一步:定義父組件
ParentComponent.ts

(1).這里定義了兩個(gè)類屬性u(píng)ser和parent_data,
(2).一個(gè)next()方法,next方法用于將頁面輸入的數(shù)據(jù)賦值給parent_data屬性
ParentComponent.html

對(duì)應(yīng)的頁面:



表單輸入數(shù)據(jù),點(diǎn)擊頁面上的按鈕,調(diào)用頁面next()方法
next()方法內(nèi)部將輸入的數(shù)據(jù)user賦值給parent_data。parent_data獲取到數(shù)據(jù)之后在模版中把獲取到的值再賦給子組件中先前定義好的data變量到這里父組件就完成 類數(shù)據(jù)的傳遞,下面我們看看子組件怎么去接受這個(gè)值?
第二步:定義子組件:
ChildenComponent.ts


(1).這里定義了一個(gè)類屬性data,并且用@Input裝飾器修飾,修飾過后的data變量就具備接受父組件傳過來的數(shù)據(jù)了,這里定義的data就是在頁面接收父組件傳遞的data變量,看下面代碼(2).還實(shí)現(xiàn)了一個(gè)onChanges接口,onChanges接口必須實(shí)現(xiàn)ngOnChanges方法,用來監(jiān)控?cái)?shù)據(jù)的變化,如果父組件的數(shù)據(jù)發(fā)生變化,我們這里就輸出改變后的數(shù)據(jù),父組件中表單輸入的值發(fā)生變化,再點(diǎn)擊按鈕調(diào)用next()方法,ngonChanges會(huì)檢測到數(shù)據(jù)變化, console.log(this.data)打印新的輸出到控制臺(tái)
下面我們看看效果

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Angular父子組件通過服務(wù)傳參的示例方法
- Angular2 父子組件通信方式的示例
- angularjs2中父子組件的數(shù)據(jù)傳遞的實(shí)例代碼
- Angular 2父子組件數(shù)據(jù)傳遞之@Input和@Output詳解(下)
- Angular 2父子組件數(shù)據(jù)傳遞之@ViewChild獲取子組件詳解
- Angular 2父子組件之間共享服務(wù)通信的實(shí)現(xiàn)
- Angular 2父子組件數(shù)據(jù)傳遞之局部變量獲取子組件其他成員
- Angular2 父子組件數(shù)據(jù)通信實(shí)例
- 詳解Angular父子組件通訊
相關(guān)文章
AngularJS中關(guān)于ng-class指令的幾種實(shí)現(xiàn)方式詳解
這篇文章給大家介紹了angularJS中ng-class指令的三種實(shí)現(xiàn)方式,其中包括通過數(shù)據(jù)的雙向綁定、通過對(duì)象數(shù)組和通過key/value這三種方式,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。2016-09-09
angularJS實(shí)現(xiàn)動(dòng)態(tài)添加,刪除div方法
下面小編就為大家分享一篇angularJS實(shí)現(xiàn)動(dòng)態(tài)添加,刪除div方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02
詳解angular分頁插件tm.pagination二次觸發(fā)問題解決方案
這篇文章主要介紹了詳解angular分頁插件tm.pagination二次觸發(fā)問題解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
如何使用AngularJs打造權(quán)限管理系統(tǒng)【簡易型】
這篇文章主要介紹了使用AngularJs打造權(quán)限管理系統(tǒng)【簡易型】的相關(guān)資料,需要的朋友可以參考下2016-05-05
angular6.x中ngTemplateOutlet指令的使用示例
本篇文章主要介紹了angular6.x中ngTemplateOutlet指令的使用示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08

