Angular 返回更新数据的视图
我试图将数据从推送视图传递回根目录。推送视图时,我正在执行以下代码:Angular 返回更新数据的视图,angular,cordova,ionic-framework,Angular,Cordova,Ionic Framework,我试图将数据从推送视图传递回根目录。推送视图时,我正在执行以下代码: addItem(){ let addModal = this.modalCtrl.create(AddItemPage); addModal.onDidDismiss((item) => { if(item){ this.saveItem(item); this.setData(); } }); addModal.present(); }
addItem(){
let addModal = this.modalCtrl.create(AddItemPage);
addModal.onDidDismiss((item) => {
if(item){
this.saveItem(item);
this.setData();
}
});
addModal.present();
}
当我执行此代码时,一个新视图被推送到导航堆栈。我在按下的页面中输入信息,然后单击“保存”按钮。当我点击“保存”按钮时,我执行以下代码:
saveItem(){
this.dateAdded=new Date();
let newItem = {
id: this.dateAdded,
date: this.datepipe.transform(this.dateAdded, 'MM-dd-yy'),
name: this.name,
status: "pending",
description: this.description
};
this.view.dismiss(newItem);
}
saveItem(item){
this.items.push(item);
}
将控件传递回根目录时,将执行addModal.ondidDisclesh代码,并通过执行以下代码将从推送视图返回的数据添加到我的数组中:
saveItem(){
this.dateAdded=new Date();
let newItem = {
id: this.dateAdded,
date: this.datepipe.transform(this.dateAdded, 'MM-dd-yy'),
name: this.name,
status: "pending",
description: this.description
};
this.view.dismiss(newItem);
}
saveItem(item){
this.items.push(item);
}
因此,我能够建立一个项目数组。现在,我希望能够更新任何选定的数组元素。当项目显示在根视图中时,我可以滑动项目并选择我的“编辑”按钮。当我这样做时,我执行以下代码:
saveItem(){
this.dateAdded=new Date();
let newItem = {
id: this.dateAdded,
date: this.datepipe.transform(this.dateAdded, 'MM-dd-yy'),
name: this.name,
status: "pending",
description: this.description
};
this.view.dismiss(newItem);
}
saveItem(item){
this.items.push(item);
}
编辑项(项,滑动项){
我的更新页面显示出来,我用导航参数中传递的数据填充输入框。我的问题是,当控件返回到根目录时,我如何引用更新的数据?我尝试引用this.navCtrl.viewDidLeave,但这不正确,因为我假设,在这一点上,它引用的是根目录视图,而不是根目录更新视图。我相信this.navCtrl.push()应该返回更新的数据,但我不知道如何/从何处访问它
谢谢您的帮助。我只需要稍微休息一下,我意识到我需要做什么。我用此代码替换了我的editItem函数,我的一切都正常工作:
editItem(item, slidingItem) {
this.closeSlider(slidingItem);
let addModal = this.modalCtrl.create(ItemUpdatePage,{
item: item
});
addModal.onDidDismiss((item) => {
if(item){
this.updateArray(item);
}
});
addModal.present();
}