如何在Angular2中加载SharedService

时间:2016-10-20 11:29:07

标签: javascript angular

我创建了一个共享服务,以便在我的应用中存储全局信息:

import { Injectable }    from '@angular/core';

import 'rxjs/add/operator/toPromise';

@Injectable()
export class SharedService {

    GLOBAL_WIDTH = 300;
    USER_PROFILE : any  = {

    }
}

然后,我在appModule声明它:

import { SharedService} from './shared.service';
@NgModule({

  providers: [
    SharedService,

  ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

我要做的下一件事是从此服务获取/设置数据。 我目前将SharedService导入到所需的每个组件,并使用构造函数I get / set info:

import { SharedService } from './shared.service';
...

  constructor(private sharedService : SharedService) {

        this.sharedService.USER_PROFILE = profile;

      });
    });
  }

在另一个组件中使用:

//Inside TopNav
import { SharedService } from '../shared.service';


export class TopNav  implements OnInit{

    userProfile = this.sharedService.USER_PROFILE;
    constructor(
        private router: Router,
        private sharedService : SharedService) {
    }

));

    }
...
}

但这对我来说看起来不对,好像我理解正确,我在每个类上实例化SharedService都是这样用的? 它是否一致?

0 个答案:

没有答案