首先,我們需要生成一個(gè)新的全局服務(wù)提供者唆途。這是通過(guò)使用providedIn:'root'屬性在ionic4中默認(rèn)為我們完成的匣椰。例如
接下來(lái)我創(chuàng)建一個(gè)名為T(mén)absService的全局服務(wù)冰啃,新服務(wù)提供商名為tabs.service.ts伍掀。接下來(lái),我們需要將該服務(wù)導(dǎo)入到我們的app.modules.ts提供程序數(shù)組中啼肩,并將其導(dǎo)入到我們的構(gòu)造函數(shù)中的app.component.ts文件中橄妆。
app.modules.ts:
app.component.ts:
接下來(lái)就是書(shū)寫(xiě)TabsService里面的業(yè)務(wù)邏輯了,在構(gòu)造函數(shù)中祈坠,您應(yīng)該導(dǎo)入路由器和平臺(tái)提供者害碾,如下所示:
現(xiàn)在,我們將繼續(xù)并連接上面的函數(shù)navevents赦拘,它將為我們處理導(dǎo)航事件慌随。這是一個(gè)非常簡(jiǎn)單的函數(shù),實(shí)際上只是router.events訂閱的容器躺同。
現(xiàn)在我們應(yīng)該創(chuàng)建函數(shù)showHideTabs()阁猜。這是根據(jù)我們導(dǎo)航到的頁(yè)面來(lái)處理選項(xiàng)卡是顯示還是隱藏的。
創(chuàng)建hideTabs()和showtabs()函數(shù)蹋艺。這里就是顯示和隱藏了
然后再html頁(yè)面獲取元素
這樣就可以自定義隱藏tabs和顯示tabs標(biāo)簽了剃袍,以上的寫(xiě)法不夠有彈性,有時(shí)間再慢慢優(yōu)化捎谨,但是功能是可以實(shí)現(xiàn)的民效。如有更好的寫(xiě)法,可以再下方評(píng)論涛救,關(guān)注我畏邢,關(guān)于ionic4的問(wèn)題,接來(lái)會(huì)有更多的更新检吆。