Как я могу передать переменную от компонента к провайдеру? - PullRequest
0 голосов
/ 05 октября 2018

Когда пользователь входит в систему, я отправляю запрос по электронной почте с паролем, как я покажу позже.этот запрос возвращает ответ с ключом API, чтобы разрешить этому пользователю все еще входить в систему, и когда для выполнения любого вызова API я должен отправить этот ключ API в заголовке.

Моя проблема заключается в том, что при сохранении этого ключа API в переменнойЯ не могу передать его другому провайдеру, чтобы сделать запрос API для получения информации о пользователе.Вы знаете, что я должен добавить этот ключ API в этом запросе.Как я могу передать переменную из компонента Провайдеру?

Мой запрос на вход в систему:

 let userKey = 'userkey';

 @Component({
  selector: 'page-login',
  templateUrl: 'login.html',
  providers: [UserProvider] // ADD HERE -> Also add in App.module.ts

 })


export class LoginPage {

  loading: any;
  loginData = { UserEmail:'', Password:'' };
  responseData : any;
  data: any;



  constructor(private UserProvider : UserProvider,public navCtrl: 
   NavController, public authService: UserProvider, public loadingCtrl: 
   LoadingController,public http: Http, private toastCtrl: ToastController) 
 {


 }



login(){

 this.authService.postData(this.loginData,'Login').then((result) => {

 this.responseData = result;
 console.log(this.responseData);
 let userKey = this.responseData.ApiKey
 console.log(userKey);

 localStorage.setItem('loginData', JSON.stringify(this.responseData));
 this.navCtrl.push(DashboardPage)
 console.log(this.loginData)

  }, (err) => {
   // Error log

 });
}
...