无法在两个页面之间传递数组
couldnt pass an array between two pages
我是 ionic 的新手,目前遇到了这个问题,我正在尝试传递具有这种结构的对象
{
car: {...}
reservations:[{...},{...},...]
}
我做了这段代码,但只能发送汽车对象,但无法发送预订数组。
第 1 页(发件人):
//class success object
class SuccessObject {
success: any;
public constructor(success: any) {
this.success = success;
}
}
public getCar(id){
let loader = this.loading.get('Chargement de la reservation...');
loader.present();
this.data.getCar(id).subscribe(
data => {
//DATA is full with car infos and its reservations
let infos: SuccessObject = new SuccessObject(data);
this.navCtrl.push(CarinfosPage, {
'car': infos.success.car,
'res': infos.success.reservation,
});
loader.dismiss();
},
err => {
loader.dismiss();
}
);
}
第 2 页(收件人):
export class CarinfosPage {
public data;
reservations = <any>{};
car = <any>{};
constructor(public navCtrl: NavController, public navParams: NavParams) {
this.reservations = this.navParams.data;
this.car = this.navParams.get('car');
}
ionViewDidLoad() {
console.log(this.car); // i get car infos here
console.log(this.reservations); // i get undefined here
}
}
你没有得到this.navParams.get('res');
this.reservations = this.navParams.get('res');
ionViewDidLoad() {
console.log(this.car); // i get car infos here
console.log(this.reservations); // i get undefined here
}
不是通过路由器将数组的大负载传递到第二页,而是仅发送 id
;然后有一个数据服务,第二个页面将使用它来检索数据并获取它需要的所有信息。
第 1 页(发件人)
public getCar(id){
this.navCtrl.push(CarinfosPage, { id: id });
}
第 2 页(接收方):
export class CarinfosPage implements OnInit {
public data;
reservations = <any>{};
car = <any>{};
// TODO inject the data service
constructor(
public navCtrl: NavController,
public navParams: NavParams,
public dataService: DataService
) {}
ngOnInit() {
const id = this.navParams.get('id');
this.dataService.getCar(id).subscribe(
data => {
// TODO Get the car and reservations information here
...
},
err => {
...
}
);
}
}
我是 ionic 的新手,目前遇到了这个问题,我正在尝试传递具有这种结构的对象
{
car: {...}
reservations:[{...},{...},...]
}
我做了这段代码,但只能发送汽车对象,但无法发送预订数组。
第 1 页(发件人):
//class success object
class SuccessObject {
success: any;
public constructor(success: any) {
this.success = success;
}
}
public getCar(id){
let loader = this.loading.get('Chargement de la reservation...');
loader.present();
this.data.getCar(id).subscribe(
data => {
//DATA is full with car infos and its reservations
let infos: SuccessObject = new SuccessObject(data);
this.navCtrl.push(CarinfosPage, {
'car': infos.success.car,
'res': infos.success.reservation,
});
loader.dismiss();
},
err => {
loader.dismiss();
}
);
}
第 2 页(收件人):
export class CarinfosPage {
public data;
reservations = <any>{};
car = <any>{};
constructor(public navCtrl: NavController, public navParams: NavParams) {
this.reservations = this.navParams.data;
this.car = this.navParams.get('car');
}
ionViewDidLoad() {
console.log(this.car); // i get car infos here
console.log(this.reservations); // i get undefined here
}
}
你没有得到this.navParams.get('res');
this.reservations = this.navParams.get('res');
ionViewDidLoad() {
console.log(this.car); // i get car infos here
console.log(this.reservations); // i get undefined here
}
不是通过路由器将数组的大负载传递到第二页,而是仅发送 id
;然后有一个数据服务,第二个页面将使用它来检索数据并获取它需要的所有信息。
第 1 页(发件人)
public getCar(id){
this.navCtrl.push(CarinfosPage, { id: id });
}
第 2 页(接收方):
export class CarinfosPage implements OnInit {
public data;
reservations = <any>{};
car = <any>{};
// TODO inject the data service
constructor(
public navCtrl: NavController,
public navParams: NavParams,
public dataService: DataService
) {}
ngOnInit() {
const id = this.navParams.get('id');
this.dataService.getCar(id).subscribe(
data => {
// TODO Get the car and reservations information here
...
},
err => {
...
}
);
}
}