2017-05-31 51 views
0

我的角度應用程序(角1.5)有幾個不同的組件分佈在整個屏幕上,我想在它們之間傳遞參數。 該頁面具有以下結構:角度傳遞變量到子組件,跳過中間

<div id="semanticParent"> 
    <div id="ui-component1"> 
     <div id="ui-component2"> 
      <div id="semanticChild"> 
      </div> 
     </div> 
    </div> 
</div> 

每個那些divs的是用分離的範圍,其中該ui-components是其中只處理外觀和不應該由應用邏輯來影響第三方庫一個單獨的組件。

我可以想到的一種解決方法是創建一個服務,該服務注入到semanticParentsemanticChild,並且所有變量都通過該服務傳遞,但這看起來並不好。

那麼這樣做的角度是什麼?

回答

0

其實這要看你的功能需求:

1)如果父是數據的所有者(它創建/編輯數據)和兒童只讀,你應該巢子組件在父並通過屬性傳遞數據。

2)如果父母和孩子都可以編輯和讀取數據,最好通過可以確保數據一致性的服務與數據交互。

我不知道我的答案是否是你需要的,但我希望它能澄清。

+0

有一點點,我想,小孩應該可以改變數據,但父母擁有它,所以如果父母被破壞並重新創建,數據可能會不同,所以服務也必須重新加載它 –

+0

然後使用一項服務。家長將能夠激活/禁用數據,孩子將有權訪問它。即使在組件的屬性中允許使用雙向數據綁定,但從孩子修改它並不是一個好習慣。 –