2016-12-25 49 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

相关问题