现在我在我的数据库中填充的一个页面上有一个按钮列表。我试图让按钮上的应用程序单击segue到一个新页面,页面上的一个元素预先填充了按钮值。问题是第二页上的构造函数仅在传递了id的初始值时被调用一次,因此当您返回并选择不同的id时,第二个视图仍然填充了所选的第一个ID。
下面是segueing的第一个控制器函数:
getSingleTest(id){
console.log("view-test argument from button");
console.log(id);
this.navCtrl.push(SingleTestPage, {"testID": id});
}
下面是第二个控制器的代码:
export class SingleTestPage {
testIDField: any;
testID: any;
singleTestData: any;
constructor(public events: Events, public navCtrl: NavController, public navParams: NavParams, public singleTest: SingleTestProvider, public testService: TestService) {
console.log("COnstructed single test");
this.testID = this.navParams.get('testID');
this.populatePage(this.testID);
}
ionViewWillEnter() {
console.log('ionViewWillEnter SingleTestPage');
//this.testID = this.navParams.get('testID');
}
ionViewWillLeave() {
}
populatePage(id){
this.singleTest.getTest(id)
.then(data => {
console.log("single-test.ts data");
console.log(data);
this.singleTestData = data;
console.log(this.singleTestData.testID);
this.testIDField = this.singleTestData.testID;
}).catch(e => {
console.log(e);
});
}
}
我试图实现一个自定义后退按钮,从推送堆栈中删除该页面,但这也不起作用。