2016-09-20 72 views
0

我有一个页面有一个按钮,一旦点击就创建一个模式。在Ionic2中从模态检索数据

现在我想在我的模态中设置一个变量,并在模态关闭后使用该按钮将其传递回页面。

这是我尝试过(我删除了样板代码):在

modal.ts

myVar:string; 
    constructor(private navCtrl: NavController, private viewCtrl: ViewController) { 
    this.myVar = "Hello"; 

} 
// when modal is being closed 
onCancel(){ 
     this.viewCtrl.dismiss(this.myVar); 
    } 

pageWithButton.ts

varFromModal:string; 
    constructor(private navCtrl: NavController, private viewCtrl: ViewController) {} 

    // I get this error here: Error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. 
    this.viewCtrl.onDismiss(data => { 
      this.varFromModal = data; 
     }); 

回答

0

你不能写代码直接您的课程:

class YourClassName { 

    varFromModal:string; 
    constructor(private navCtrl: NavController, private viewCtrl: ViewController) {} 

    // YOU CANT WRITE CODE HERE !! 
    // PUT IT IN A FUNCTION OR CONSTRUCTOR OR WHEREVER .. 
    this.viewCtrl.onDismiss(data => { 
     this.varFromModal = data; 
    }); 
} 
+0

我把它移到构造函数中,现在我得到这个错误:错误TS2341:属性'onDismiss'是私有的,只能在'ViewController'类中访问。你有一些例子展示了如何将数据从模态传递到页面? – splunk

+0

我对Ionic不太了解,但是您可以使用Angular2服务。在你的模式里面把数据放到服务里,然后你可以在其他地方访问那些数据..但是我确定也有一种离子方式.. – mxii

+0

谢谢你,我解决了它。这帮助了我:https://forum.ionicframework.com/t/passing-data-in-from-modal/61051/4 – splunk