Angular4将接口实现为输入

时间:2018-01-17 19:15:29

标签: angular typescript dependency-injection

我不确定这是否可行,但这里有。 在angular4中,我通过抽象类方法(https://hackernoon.com/creating-interfaces-for-angular-services-1bb41fbbe47c)创建接口。

制作抽象类很容易。我将在这里写下所有伪代码。

在一个项目中,让我们说项目A,我将有这个界面:

@Injectable()
export abstract class TestingService {
  abstract modifyString(): JsonObject;
}

在另一个项目(项目B)中,它将项目A作为依赖项并将其存储在node_modules中(在此处使用npm)。项目B的主要HTML页面是这样的:

<projectA (input1) (input2)... />

在这里,我不确定它是否可能。在项目B中,我想实现项目A的TestingService。然后,当如上所示实例化projectA时,它将从B运行已实现的函数。是否可以将已实现的函数作为输入放入projectA?

我这样做的原因是因为我将有其他项目(C,D)也会使用A作为依赖项。我希望modifyString()函数根据哪个项目使用它而不同,而不是在项目A本身中硬编码多个实现。

有什么想法吗?如果您需要更多详细信息,请告诉我们。谢谢!

0 个答案:

没有答案