离子:在显示数组中的数据时遇到问题

时间:2017-05-10 20:20:36

标签: angular ionic-framework

为了保持简短,我正在创建一个像浏览器应用程序一样的购物车。它的假设是如何工作的:

1)用户选择一个产品,然后将它们带到购物车页面。

  • 他们可以将产品添加到购物车,然后将其重定向到产品页面,以便他们可以添加其他产品或
  • 他们可以点击结帐按钮,然后将它们带到订单确认页面,在那里他们可以查看购物车中的每件商品

问题:项目数组在additem()方法中传递给ConfirmOrder,但未打印出来

编辑:这是工作代码。感谢@rapropos在离子论坛上进行修复。

在我的cart.ts文件中(当用户按下添加到购物车按钮时,会调用saveItem()方法

public items = [];
// Both of these params which are to be saved in the array are passed from another page
prodName:   string    = this.navParams.get('prodName');
prodDesc:   string    = this.navParams.get('prodDesc');

saveItem() {

  let newItem = {
    prodName: this.prodName,
    prodDesc: this.prodDesc
  };

  this.addItem(newItem);
}

addItem(item) {

  this.items.push(item);

  this.navCtrl.push(ConfirmOrderPage, items: this.items);
}

ConfirmOrder.ts

export class ConfirmOrderPage {

  prodName;
  items = [];

  constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController) {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad ConfirmOrder');

    this.items = this.navParams.get('items');
  }
}

ConfirmOrder.html

<ion-list>
  <ion-item *ngFor="let item of items">{{item.prodName}}</ion-item>
</ion-list>

1 个答案:

答案 0 :(得分:0)

OP已使用此修复程序进行了更新。感谢@rapropos在离子论坛上的帮助。修复是添加items: this.items所以我可以访问接收页面上的数组

this.navCtrl.push(ConfirmOrderPage, items: this.items);