Angular Ionic 4从未定义的模式传回数据

Angular Ionic 4从未定义的模式传回数据,angular,modalviewcontroller,ionic4,Angular,Modalviewcontroller,Ionic4,我试图创建一个模式窗口,当用户从该无线电组中选择一个值时,将其传递给一个无线电组,然后让我的模式传回他们选择的对象 广播组页面和html export class PopoverstationsPage implements OnInit { cities :any constructor(public nav : NavController,public nav : NavController,public modalController: ModalContr

我试图创建一个模式窗口,当用户从该无线电组中选择一个值时,将其传递给一个无线电组,然后让我的模式传回他们选择的对象

广播组页面和html

  export class PopoverstationsPage implements OnInit {

      cities :any

      constructor(public nav : NavController,public nav : NavController,public modalController: ModalController ,public router : Route) { }

      ngOnInit() {
        console.log(this.cities)
      }

      onRadioChange(cities: PopoverstationsPage):void {
    this.modalController.dismiss(cities);

      console.log(this.cities)
  }

    }
html


我在控制台日志
未定义中出错
在你的
ondiddisease
处理程序中,你正在注销
数据['cities']
,但是你在模式中返回了一个
字符串。这意味着您正在查询类型
String
上的
cities
属性,该属性是
对象
——这就是它返回
未定义
且不抛出错误的原因。应通过以下方法解决

 const user = data;
 console.log(user)

此代码在Ionic 4中工作

async presentModal() {
  let showModal = await this.modalCtrl.create({
    component: ModalPagePage,
    componentProps: {
      selectedDay: this.selectedDay
    }
  });
  await showModal.present();

  const { data } = await showModal.onDidDismiss();
  console.log("data is  " + data);
  if (data) {
    let eventData = data;
  }
}

您是否尝试过使用
ViewController
取消模式?否,需要使用modalController您是否确实阅读了文档?它向您展示了如何操作:您应该能够使用ViewController作为选项,另外,
ModalController
声明似乎在您的
popopOverstationsPage
构造函数中缺失,它较小,但我不知道问题在哪里@AJT\u 82您可以将其分配给
this.cities=data
然后调用您的
test
方法。如果你需要更多的细节,请接受答案,并问一个不同的问题。好的,他返回值,但我仍然有问题,使用我的url返回值!!!当我尝试打印
this.cities=data
l got
[object object]
我很抱歉他不工作l got
[object object]
我无法接受答案在我的Ionic 4应用程序中效果很好。
 const user = data;
 console.log(user)
async presentModal() {
  let showModal = await this.modalCtrl.create({
    component: ModalPagePage,
    componentProps: {
      selectedDay: this.selectedDay
    }
  });
  await showModal.present();

  const { data } = await showModal.onDidDismiss();
  console.log("data is  " + data);
  if (data) {
    let eventData = data;
  }
}