Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在引导Ng2后将服务添加到应用范围_Angular_Angular Services - Fatal编程技术网

Angular 在引导Ng2后将服务添加到应用范围

Angular 在引导Ng2后将服务添加到应用范围,angular,angular-services,Angular,Angular Services,我正在构建一个Angular2应用程序,需要从多个不同的服务加载一个它加载的子应用程序。如果我能够在运行时(即在启动后)将服务动态添加到应用程序范围中,这将是一个理想的选择,但我正在努力找到一个实用的方法 如有任何提示,将不胜感激请检查 您可以通过resolveAndCreate注册新服务 下面是DI如何工作的一个很好的解释:) 只有当依赖于服务的组件被实例化时,服务才会被实例化,因此从这个意义上说,它们是动态创建的,并且没有引导过程预先创建应用程序中的所有服务。我无法想象一个组件不知道它的依

我正在构建一个Angular2应用程序,需要从多个不同的服务加载一个它加载的子应用程序。如果我能够在运行时(即在启动后)将服务动态添加到应用程序范围中,这将是一个理想的选择,但我正在努力找到一个实用的方法

如有任何提示,将不胜感激

请检查

您可以通过resolveAndCreate注册新服务

下面是DI如何工作的一个很好的解释:)


只有当依赖于服务的组件被实例化时,服务才会被实例化,因此从这个意义上说,它们是动态创建的,并且没有引导过程预先创建应用程序中的所有服务。我无法想象一个组件不知道它的依赖关系的场景——因此,如果您像正常情况一样编写具有服务依赖关系的组件,Angular2将在需要时负责实例化这些服务

此外,Angular2中作用域的工作方式与Angular.js不同-我不太清楚在本文中应用程序作用域的含义。归根结底,服务只是由注入器实例化的类,您可以让框架为您注入服务,如果需要,可以直接访问注入器(从“angular2/angular2”导入{injector}),或者自己用new()实例化类的实例-但这违背了依赖项注入的目的,依赖项注入的目的是将依赖项实例化的责任转移到框架上