Angular 5-如何向构造函数添加多个参数?

时间:2018-08-22 15:31:29

标签: javascript angular typescript

我需要将我的服务以及身份验证服务都添加到我的app.component.ts中,但似乎无法在构造函数参数中同时添加这两项。我该怎么做,并且仍然对整个应用程序都可用? 这是我所拥有的:

constructor(private _dataService: DataService, authToken: Angular2TokenService) {
     this.authToken.init(environment.token_auth_config)
 }

错误是:属性'authToken'在'AppComponent'类型上不存在。

所有必需的项目已经导入。

我怎么都可以写?我找到的大多数答案都是针对较旧版本的Angular。谢谢。

2 个答案:

答案 0 :(得分:5)

private之前添加authToken。添加private使其成为Component类的属性。然后,您可以使用authToken关键字来引用this

constructor(private _dataService: DataService, private authToken: Angular2TokenService) {
     this.authToken.init(environment.token_auth_config)
 }

答案 1 :(得分:1)

您已将thisauthToken一起使用-这意味着您的authToken被声明为组件的属性,但是目前并非如此,所以为什么会出现错误。

您需要在private之前添加authToken或其他访问修饰符。这表明构造函数中的参数被声明为_dataService

之类的组件的属性。
constructor(private _dataService: DataService, private authToken: Angular2TokenService) {
     this.authToken.init(environment.token_auth_config)
}