2016-09-20 77 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