angular-2中的服务如何在每个组件中动态获取值?

时间:2017-05-25 05:17:42

标签: angular angular-services

我在angular-2应用程序中创建了一个服务,例如:AuthService,我在我的应用程序中有一个组件中的多个组件(signUpComponet)我将在注册时获取用户数据,然后我用AuthService和i初始化什么想在每个组件中使用此AuthService。

所以我最终想要调用一个服务,该服务动态获取我初始化的每个组件中的数据,以便在每个组件中维护用户。

  

我创建了使用html中的window属性存储用户会话的服务

我的服务

@Injectable()

export class AuthService {
Authentication(){
    var _this = this;
    _this._data = {
      user: window.data
    };
    return _this._data;
}
}

signUpComponent

export class signUpComponent{

goToSigUp(user){
//calling backend service to fetch user data as response
 this.AuthService.Signup(user).subscribe(result => {
      if(result.type == false){
        this.errMsg = result.data;
      }else{
        this.authentication = result;// when data successfully retrieves call AuthService to store user as a window session and use in it this service in every component?   
      }   

    });
}
}

我希望这清楚,我不知道当用户作为回调到达时如何调用该服务,因为我正在新学习角度。

1 个答案:

答案 0 :(得分:0)

您需要在app.module

中将服务设置为提供者
@NgModule({
imports: [BrowserModule,
    HttpModule,
],
declarations: [AppComponent,

],
providers: [AuthService],
bootstrap: [AppComponent]

}) 导出类AppModule {}

现在可以随处访问 this.authentication

希望它有所帮助!!