2016-11-13 86 views
0

我正在實現一個遞歸組件,該組件顯示選項卡並使用可見性來僅顯示活動內容。我選擇這種方法是因爲從DOM角度來看,標籤內容的生成和佈局非常昂貴。Angular2嵌套可見性

based on this,我看到,當我隱藏一個選項卡時,嵌套的子選項卡仍然可見。

我想,最好的方式來處理,這是通過創建一組CSS類:

  1. 對可見光
  2. 對可見隱藏

這樣,我可以在選項卡設置爲隱藏時通過DOM元素進行遞歸,並將具有p-visible類的元素更改爲具有p-visible-hidden類。同樣,當選項卡設置爲可見時,我可以將具有p-visible-hidden類的所有元素切換爲p-visible。

所以我想知道在Angular2中實現這一點的最好方法 - 對我來說,最好的方法也許是實際選擇子DOM元素。

預先感謝任何幫助:)

test harness for component

tab layout component

+0

哦,組件相當甜美。它找到位於其他外部Web服務器上的遠程模塊,編譯模塊,抓取組件工廠,並在組件組件 [p-compose組件](https://github.com/)中創建組件的實例datumgeek /繪圖機殼angular2 /斑點/主/ SRC /撰寫/ compose.component.ts) –

回答

0

我通過,如果父母是可見的創建@input布爾(稱爲parentVisible),指示要解決的問題或隱藏。該屬性通過組件的遞歸層次結構級聯。

的parentVisible布爾是設定各子元素的可見性(如果parentVisible是假的,可見性設置爲隱藏,如果parentVisible爲真,則如之前設置可見性)

這種策略使得它額外的過濾器儘可能避免直接的DOM操作,這對於單元測試和Angular2方式的處理非常有用:smile: