2016-12-25 45 views
1

我已經建立了一種形式,需要4個屬性的人的同型號驅動形式:Angular2 - 如何重用在多個頁面

firstName, lastName, email, mobile 

這個形式可以在應用中有許多地方使用。我見過的所有教程都顯示可重用組件,但僅作爲相關父級的子組件。例如:

/customers <- renders a list of customers, select one and 
/customers/1 <- renders a customer detail, with a customer form 

但如果我也有:

/contacts <- renders a list of contacts 
/contacts/1 <- renders a detail, with a contact form 

但客戶和聯繫人的形式是相同的,有相同的四個字段/控件(但顯然會節省/更新不同的API )。

是否有可能創建可訂閱服務的通用「人員」表單?當表單放置在客戶頁面上時,注入客戶服務,並將其放入聯繫頁面時,注入聯繫服務。

然後形式可以保存更改的數據返回到正確的服務。

我從來沒見過這種形式的再利用的任何實例。這可能嗎?

回答

2

如果我正確理解你的問題,那麼你可能會問什麼是類似的:我可以有條件地注入服務?答案是肯定的。你可以通過幾種方法做到這一點。

的一種方法是延長部件等THIS。但對我來說這有點難看。

,我已經在過去的解決了這個問題的方法是既服務注入到你的組件,但有條件subscribe()他們。在您的情況下,您可以通過閱讀contactscustomers的路徑參數來完成此操作。

此外,根據您的實施情況,您可以考慮將表單作爲單獨的組件,並通過@Input裝飾器傳入customercontact

+0

感謝我設法做到這樣的,它的工作原理:) – rmcsharry

相關問題