Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework 如何在Ionic 3中获取模态数据?_Ionic Framework_Ionic3 - Fatal编程技术网

Ionic framework 如何在Ionic 3中获取模态数据?

Ionic framework 如何在Ionic 3中获取模态数据?,ionic-framework,ionic3,Ionic Framework,Ionic3,我有一页有一个列表。从那一页我打开了一个模式。 该模式包含一个文本框和一个添加项按钮。 当我在框中输入一个项目并点击Add Item时,我需要 1) 排除模态 2) 将输入的项目添加到上一个列表的列表中 我需要通过Disclose()完成此操作 HOME.HTML <ion-header> <ion-navbar> <ion-title> Ionic Blank </ion-title> </i

我有一页有一个列表。从那一页我打开了一个模式。 该模式包含一个文本框和一个添加项按钮。 当我在框中输入一个项目并点击Add Item时,我需要 1) 排除模态 2) 将输入的项目添加到上一个列表的列表中

我需要通过Disclose()完成此操作

HOME.HTML

    <ion-header>
    <ion-navbar>
    <ion-title>
      Ionic Blank
    </ion-title>
  </ion-navbar>
</ion-header>
<ion-content>
  <ion-list>
    <ion-item *ngFor="let grocery of itemsArray">{{grocery}}</ion-item>
  </ion-list>
  <button ion-button round (click)="addItem()">Add Item</button>
</ion-content>
MODAL.HTML

    <ion-header>
  <ion-navbar>
    <ion-title>Add Item</ion-title>
    <ion-buttons end>
      <button ion-button (click)="closeModal()">Close</button>
    </ion-buttons>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <ion-list>
    <ion-item>
      <ion-label>Item</ion-label>
      <ion-input type="text" [(ngModel)]="newItem"></ion-input>
    </ion-item>
    <button ion-button color="secondary" (click)="add()">Add Item</button>
  </ion-list>
</ion-content>

首先,在关闭对象/字符串时,需要从模式中传递对象/字符串项/数据

this.viewCtrl.dismiss(data);
您必须在为ex打开模型的页面上订阅模型关闭事件

let modal = this.modalCtrl.create(ModelPage);
modal.onDidDismiss(data => {
    this.badge = data;
});
modal.present();

在您可以简单地将新项目推送到项目数组中之后:)

您的代码总体上看起来很好

改变这部分

public addItem() {
    let modalPage = this.modalCtrl.create(ModalPage);
    modalPage.onDidDismiss(data => {
      this.itemsArray.push(data);
    });
    modalPage.present();
  }
更改html或TS文件中变量的名称。
name
newItem
或反之亦然

您使用的是
[(ngModel)]=“newItem”
,但在您的TS文件中,您使用的是
this.name

您正在
ionViewDidLoad()
上添加项目,但新项目到达
modalPage.ondiddisclesh()


试试看。如果仍然不起作用,我将进一步帮助您。

向我们展示您的尝试。调用模式的页面和模式页面本身。@SimãoGarcia很抱歉没有提供正确的代码。我现在已经编辑过了。提前谢谢。好东西@Shylesh。希望你的问题得到解决。@SimãoGarcia没有。我仍然没有得到列表中的数据!你能帮我修改一下密码吗?我还是拿不到。。我已经编辑了代码并上传了。。你能检查出什么问题吗?试试看并给出一些反馈。如果你想让其他人帮助你,你必须取消另一个答案被接受的标记。人们会认为你的问题已经解决了,这很有效。必须在代码中暗示这一点,才能将项添加到列表this.itemsArray.push(data.name);
let modal = this.modalCtrl.create(ModelPage);
modal.onDidDismiss(data => {
    this.badge = data;
});
modal.present();
public addItem() {
    let modalPage = this.modalCtrl.create(ModalPage);
    modalPage.onDidDismiss(data => {
      this.itemsArray.push(data);
    });
    modalPage.present();
  }