如何在Component中访问Angular2根注入服务?

时间:2015-10-12 18:12:53

标签: angular

根据http://victorsavkin.com/post/126514197956/dependency-injection-in-angular-1-and-angular-2,可以使用以下内容将应用程序范围的服务添加到根注入器:

bootstrap(App, [UserService, LoginService]

然后可以在这样的子组件中访问:

class A {
  constructor(userService: UserService) {
    
  }
}

然而,一个异常结果,抱怨参数无法解决,并建议确保它们具有正确的类型或注释。

在子组件中注入应用程序范围的服务并访问它们的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

如果子组件位于单独的文件中,请确保仍然导入该服务。

import {UserService} from '../../services/UserService';

@Component({
     // don't add UserService in providers here
})

class A {
    userService: UserService;
    constructor(userService: UserService) { 
        this.userService = userService;
    }
}