Ionic framework 如何在Ionic 3中获取模态数据?
我有一页有一个列表。从那一页我打开了一个模式。 该模式包含一个文本框和一个添加项按钮。 当我在框中输入一个项目并点击Add Item时,我需要 1) 排除模态 2) 将输入的项目添加到上一个列表的列表中 我需要通过Disclose()完成此操作 HOME.HTMLIonic 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
<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();
}