注销时的Angular 2提供程序实例

注销时的Angular 2提供程序实例,angular,ionic2,Angular,Ionic2,我是Angular 2/Ionic 2的新手,我对Ionic 3的注销功能有一个问题。 我创建了一个公共服务,在整个应用程序中存储和使用一些应用程序常量。 例如,我想存储http头信息并在所有提供者中共享它 userId,vendorId详细信息来自数据库。我正在登录方法中设置它 this.headers = new Headers({ 'X-Requested-With': 'XMLHttpRequest', 'Access-Control-Allow-Orig

我是Angular 2/Ionic 2的新手,我对Ionic 3的注销功能有一个问题。 我创建了一个公共服务,在整个应用程序中存储和使用一些应用程序常量。 例如,我想存储http头信息并在所有提供者中共享它

userId,vendorId详细信息来自数据库。我正在登录方法中设置它

this.headers = new Headers({
        'X-Requested-With': 'XMLHttpRequest',
        'Access-Control-Allow-Origin': '*',
        'Content-Type': 'application/json',
        'dataType': 'json',
        'UserId': userId,
        'VendorId': vendorId,
        'RoleId': roleId
    });
我正在其他提供商中注入此公共服务,并像这样使用

  let options = new RequestOptions({ headers: this.appConstants.headers });
let body = JSON.stringify(Userinfo);
return this.http.post(this._url + 'SaveUser', body, options)
  .map((res: Response) => res.json());
现在,因为这是一个单例服务,共享所有页面。当我注销并登录时,它仍然使用以前的用户数据。
是否有办法在注销方法中处理此服务。

您在登录方法中更新了数据吗?@duanx:是的,它正在用新数据更新应用程序常量。但它没有创建该服务的新实例。所以它仍然使用以前的用户数据。请在更新数据时发布你的singleton模式和登录方法。你在登录方法中更新了数据吗?@Duanx:是的,它正在用新数据更新应用程序常量。但它没有创建该服务的新实例。所以它仍然使用以前的用户数据。请在更新数据时发布您的singleton模式和登录方法。