从服务器获取数据并将其传递给页面 Angular
getting data from server and passing it around pages Angular
我有一项服务可以从我的离子应用程序中的 api 端点获取数据。这是从服务器获取数据的函数。
getDriverInfo(username)
{
return this.http.get(this.base_url + 'user/' + username, {
headers: new HttpHeaders().set('Authorization', 'Bearer ' + this.access_token)
});
}
我有一个获取数据的页面作为响应。
handleResponse(data) {
this.db.getDriverInfo(data.username).subscribe(
resp => {
this.driverData = resp;
this.driverId = this.driverData.driver.id;
this.driverUserid = this.driverData.id;
console.log(this.driverData);
}
);
this.token.handle(data.access_token);
this.navCtrl.setRoot(HomePage, {
driverData: this.driverData,
driverId: this.driverId,
driverUserId: this.driverUserId
});
}
toDash()
{
let loading = this.loadCtrl.create({
content:'Logging In...'
});
loading.present();
this.auth.login(this.form).subscribe(
data => {
this.handleResponse(data);
loading.dismiss();
},
error => {
this.handleError(error);
loading.dismiss();
}
);
}
console.log() this.driverData 给我数据。
在我的主页中,我尝试将数据保存在像这样的变量中
constructor(public navCtrl: NavController, public platform: Platform,
public geo: Geolocation, public loadingCtrl: LoadingController,
public driverProvider: DriverProvider, public alertCtrl: AlertController,
public navParams: NavParams, public modalCtrl: ModalController, public db: DbProvider
) {
this.driverDetails = this.navParams.get('driver_data');
this.driverUserId = this.navParams.get('driver_user_id');
this.driverDBId = this.navParams.get('driver_id');
this.isOnline = this.navParams.get('isOnline');
console.log(this.driverDetails);
}
但 console.log 给了我未定义的。我怎样才能有效地传递数据?
在 HomePage
中更改以下内容:
this.driverDetails = this.navParams.get('driver_data');
进入这个:
this.driverDetails = this.navParams.get('driverData');
当您将数据发送到第二页时,您正在使用属性 driverData
,因此要接收此属性,您需要在 get()
[=17] 中添加完全相同的属性=]
要获取所有数据,可以在构造函数内部执行以下操作:
this.allData = this.navParams.data;
console.log(this.allData);
查看文档 here 了解更多信息。
我有一项服务可以从我的离子应用程序中的 api 端点获取数据。这是从服务器获取数据的函数。
getDriverInfo(username)
{
return this.http.get(this.base_url + 'user/' + username, {
headers: new HttpHeaders().set('Authorization', 'Bearer ' + this.access_token)
});
}
我有一个获取数据的页面作为响应。
handleResponse(data) {
this.db.getDriverInfo(data.username).subscribe(
resp => {
this.driverData = resp;
this.driverId = this.driverData.driver.id;
this.driverUserid = this.driverData.id;
console.log(this.driverData);
}
);
this.token.handle(data.access_token);
this.navCtrl.setRoot(HomePage, {
driverData: this.driverData,
driverId: this.driverId,
driverUserId: this.driverUserId
});
}
toDash()
{
let loading = this.loadCtrl.create({
content:'Logging In...'
});
loading.present();
this.auth.login(this.form).subscribe(
data => {
this.handleResponse(data);
loading.dismiss();
},
error => {
this.handleError(error);
loading.dismiss();
}
);
}
console.log() this.driverData 给我数据。
在我的主页中,我尝试将数据保存在像这样的变量中
constructor(public navCtrl: NavController, public platform: Platform,
public geo: Geolocation, public loadingCtrl: LoadingController,
public driverProvider: DriverProvider, public alertCtrl: AlertController,
public navParams: NavParams, public modalCtrl: ModalController, public db: DbProvider
) {
this.driverDetails = this.navParams.get('driver_data');
this.driverUserId = this.navParams.get('driver_user_id');
this.driverDBId = this.navParams.get('driver_id');
this.isOnline = this.navParams.get('isOnline');
console.log(this.driverDetails);
}
但 console.log 给了我未定义的。我怎样才能有效地传递数据?
在 HomePage
中更改以下内容:
this.driverDetails = this.navParams.get('driver_data');
进入这个:
this.driverDetails = this.navParams.get('driverData');
当您将数据发送到第二页时,您正在使用属性 driverData
,因此要接收此属性,您需要在 get()
[=17] 中添加完全相同的属性=]
要获取所有数据,可以在构造函数内部执行以下操作:
this.allData = this.navParams.data;
console.log(this.allData);
查看文档 here 了解更多信息。