如何将数据传递到模态离子2
问题描述:
好家伙我试着从我的设备查看我的模态(设备详细信息查看)传递数据并将其绑定到我的模态,如果我做(click)=openModal()
模态应与帕拉姆打开我点击。但不幸的是,它仍然空出任何人一个想法,我可以如何处理它?如何将数据传递到模态离子2
//数据源&模态处理程序
import { Component } from '@angular/core';
import { ModalController, Platform, NavParams, ViewController,NavController } from 'ionic-angular';
import { ModalPage } from '../modal/modal';
@Component({
selector: 'page-deviceslist',
templateUrl: 'devicelist.html'
})
export class DevicesListPage {
devices;
device;
constructor(
public modalCtrl: ModalController,
public nav: NavController,
public params: NavParams,
) {
this.devices = [
{
title: 'Küche',
items: [
{title: 'KüchenAid', consumption:'32 W', checked:'true'},
{title: 'Thermomix', consumption:'0 W', checked:'false'}
]
},
{
title: 'Wohnzimmer',
items: [
{title: 'Fernseher',consumption:'0 W', checked:'false'},
{title: 'Stehlampe',consumption:'60 W', checked:'true'},
]
}
];
this.device = this.devices[this.params.get('devNum')];
}
openModal(deviceNum) {
let modal = this.modalCtrl.create(ModalPage, deviceNum);
modal.present();
console.log(this.device);
console.log(this.devices);
}
};
//和我的modal.ts
import { Component } from '@angular/core';
import { ModalController, Platform, NavParams, ViewController } from 'ionic-angular';
@Component({
selector: 'page-modal',
templateUrl: 'modal.html'
})
export class ModalPage {
constructor(
public platform: Platform,
public params: NavParams,
public viewCtrl: ViewController
) {
}
dismiss(data) {
this.viewCtrl.dismiss(data);
}
}
答
在离子v3进行模态控制器来传递数据的方法是从传递数据具有不同导航控制器。主要区别在于您使用键和值传递数据。
你应该这样做:
let modal = this.modalCtrl.create(ModalPage, {deviceNum: deviceNum});
,并在你的模式构造:
constructor(public platform: Platform, params: NavParams,public viewCtrl: ViewController) {
console.log(params.get('deviceNum'));
}
@Alex:你导入你的模态控制器NavParams?你可以在这里找到一个例子:https://ionicframework.com/docs/v2/api/navigation/NavParams/,真的,在这里:https://ionicframework.com/docs/v2/api/components/modal/ModalController/ – briosheje
[链接](http://dpaste.com/2K88YMM)是的,它是incide – Alex
@亚历山大你有一个想法,为什么它仍然是未定义的? :(在上面的链接中,我发布了我的dpaste – Alex