在Angular 1中,必须在Bootstrap阶段之前将所有服务和指令添加到Angular应用程序中。 Angular 2有一个新的注射概念,并引入了分层注射器。分层注入器是否允许您在Bootstrap阶段之后在Angular2中添加服务和组件。
答案 0 :(得分:1)
不,您需要静态添加提供程序,因此需要在引导时知道并注册它们。
注入器的层次结构由组件和指令层次结构确定,提供程序在静态组件和指令元数据中配置。您无法在运行时修改任何内容。
您可以创建独立的注入器层次结构或与组件无关的组件/指令注入器的子层次结构,您可以在运行时配置提供程序。
如果您在运行时动态实例化或创建组件,您可以以某种方式解决此问题,并在运行时为此组件和后代定义提供程序(只要它们不具有相同密钥的提供程序)
如
中所示