如何将变量从组件传递到提供程序?

时间:2018-10-05 18:35:59

标签: angular typescript ionic-framework ionic2 ionic3

当用户登录后,我将使用电子邮件和密码登录我的发布方法请求,我将在稍后显示。该请求返回带有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

 });
}

0 个答案:

没有答案