带有参数的Ionic2 NavController POP(回调)



我想在两个页面之间进行回调。在第1页中,我有此代码:

  DataInfo= [
    {
       Price: 0,
       ClosePrice: 0,
       UpdateTime:"",
       DefaultPrice:0
    }
  ] 
GetClosePrice(i):number{
return DataInfo[i].ClosePrice;
}

我想从第2页获得'i'的值,当navController返回第1页(this.navctrl.pop())

SOURCE PAGE CLASS

this.navCtrl.push(Page,
{
    data: this.data,
    callback: this.getData
});
getData = data =>
{
  return new Promise((resolve, reject) => {
    for (let order of orders) {
      this.data = data;
    }
    resolve();
  });
};

TARGET PAGE CLASS

constructor(public navCtrl: NavController, public navParams: NavParams)
{
  this.callback = this.navParams.get('callback');
  this.data = this.navParams.get('data') || [];
}
sendData(event: any): void
{
  this.callback(this.data).then( () => { this.navCtrl.pop() });
}

TARGET PAGE TEMPLATE

<button ion-button (click)="sendData($event)">

我在离子论坛中回答了类似的问题。我只是使用 Events listeners实现了这种行为。

mainpage-

import { NavController, Events } from 'ionic-angular';
import { OtherPage } from '../other/other';
export class MainPage{
    constructor(private navCtrl: NavController,
                private events: Events) { }
    private pushOtherPage(){
        this.events.subscribe('custom-user-events', (paramsVar) => {
            // Do stuff with "paramsVar"
            this.events.unsubscribe('custom-user-events'); // unsubscribe this event
        })
        this.navCtrl.push(OtherPage); // Push your "OtherPage"
    }
}

其他页面 -

export class OtherPage {
    // Under some function
    this.navCtrl.pop().then(() => {
        // Trigger custom event and pass data to be send back
        this.events.publish('custom-user-events', myCustomParams);
    });
}

尝试这个-Ionic2 POP,带有params

相关内容

  • 没有找到相关文章

最新更新