今天有一點(diǎn)時(shí)間吧自己之前學(xué)的數(shù)據(jù)傳遞做一下總結(jié),話(huà)說(shuō)不積硅步無(wú)以至千里争涌,不積小流無(wú)以成江河粉楚,萬(wàn)事沒(méi)有捷徑,平時(shí)只有多做一下總結(jié)亮垫,日后才能積累財(cái)富解幼,組件之間數(shù)據(jù)傳遞,有很多種包警,今天跟大家分享一兩種撵摆,還有其很多種,自己慢慢去發(fā)掘害晦,
一特铝,數(shù)據(jù)重構(gòu)
A--->B,比如我在一B界面,想要A界面的數(shù)據(jù)壹瘟,這時(shí)你可以在B界面重新構(gòu)造一下函數(shù)鲫剿,例如HomePage({Key key,this.arry,this.hotArry,this.tabs,this.tip}):super(key:key);這種就可以把數(shù)據(jù)從A傳遞到B
二,數(shù)據(jù)回調(diào)稻轨,跟iOS block一樣
ValueChanged 和VoidCallback?數(shù)據(jù)回調(diào)詳情地址
三 可以利用第三方組件?event_bus
這個(gè)數(shù)據(jù)比較簡(jiǎn)單event 官方地址跟監(jiān)聽(tīng)差不多灵莲,比如一個(gè)需求如果A和B這兩個(gè)界面,B界面數(shù)據(jù)的改變A也跟著改變殴俱,這時(shí)可以用event_bus?
1.創(chuàng)建一個(gè)類(lèi)例如ModelIndex 監(jiān)聽(tīng)去監(jiān)視這個(gè)數(shù)據(jù)的變化政冻,把event_bus 初始化這個(gè)dart里面例如
2枚抵,創(chuàng)建A和B兩個(gè)界面
3,A見(jiàn)面去監(jiān)聽(tīng)這個(gè)類(lèi)
4明场, B見(jiàn)面去發(fā)送這個(gè)監(jiān)聽(tīng)事件例如
這就基本數(shù)據(jù)傳遞汽摹,還有很多種,主要根據(jù)個(gè)人喜好苦锨,仁者見(jiàn)仁智者見(jiàn)智逼泣,日后會(huì)寫(xiě)一個(gè)簡(jiǎn)單的項(xiàng)目,把學(xué)的都用上