ionic 3 将数据传递给 popover
ionic 3 passing data to popover
我无法让它工作。弹窗调用代码为
presentPopover(myEvent){
//alert('invoke popup')
let popover = this.popoverCtrl.create(PopoverPage, this.data);
popover.present(
{
ev: myEvent
}
);
}
我目前需要访问的部分是:
export class PopoverPage{
constructor(public viewCtrl: ViewController) {
// alert('in the popup')
//alert(this.data)
}
那么数据将如何在弹出页面组件中可用?
Parameters/data可以像这样传递给Popover
let popover = this.popoverCtrl.create(PopoverPage, {key1:value1, key2: value2});
然后您可以使用 NavParams
检索传递给 Popover 的数据。
export class PopoverPage{
constructor(public navParams:NavParams) {
console.log(this.navParams.data);
let value1 = this.navParams.get('key1');
let value2 = this.navParams.get('key2');
}
}
对于 ionic v4,您可以使用 componentProps
发送数据,通过 navParams 传递数据和检索。
const popover = await this.popoverController.create({
component: PopoverPage,
componentProps:{key1:value1, key2: value2}
});
return await popover.present()
您必须将 this.data 作为 json对象,之后就可以通过key访问值了。
调用弹窗代码:
presentPopover(myEvent){
//alert('invoke popup')
this.data = {data_key:'your_value'};
let popover = this.popoverCtrl.create(PopoverPage, this.data);
popover.present(
{
ev: myEvent
}
);
}
从弹出窗口访问值:
export class PopoverPage{
constructor(public viewCtrl: ViewController,public navParams:NavParams) {
// alert('in the popup');
//alert(this.navParams.get('data_key'));
}
}
我无法让它工作。弹窗调用代码为
presentPopover(myEvent){
//alert('invoke popup')
let popover = this.popoverCtrl.create(PopoverPage, this.data);
popover.present(
{
ev: myEvent
}
);
}
我目前需要访问的部分是:
export class PopoverPage{
constructor(public viewCtrl: ViewController) {
// alert('in the popup')
//alert(this.data)
}
那么数据将如何在弹出页面组件中可用?
Parameters/data可以像这样传递给Popover
let popover = this.popoverCtrl.create(PopoverPage, {key1:value1, key2: value2});
然后您可以使用 NavParams
检索传递给 Popover 的数据。
export class PopoverPage{
constructor(public navParams:NavParams) {
console.log(this.navParams.data);
let value1 = this.navParams.get('key1');
let value2 = this.navParams.get('key2');
}
}
对于 ionic v4,您可以使用 componentProps
发送数据,通过 navParams 传递数据和检索。
const popover = await this.popoverController.create({
component: PopoverPage,
componentProps:{key1:value1, key2: value2}
});
return await popover.present()
您必须将 this.data 作为 json对象,之后就可以通过key访问值了。
调用弹窗代码:
presentPopover(myEvent){
//alert('invoke popup')
this.data = {data_key:'your_value'};
let popover = this.popoverCtrl.create(PopoverPage, this.data);
popover.present(
{
ev: myEvent
}
);
}
从弹出窗口访问值:
export class PopoverPage{
constructor(public viewCtrl: ViewController,public navParams:NavParams) {
// alert('in the popup');
//alert(this.navParams.get('data_key'));
}
}