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

私はイオニックについてよく分かりませんが、Angular2サービスを使用することができます。あなたのモーダルの中にサービスにデータを入れて、それ以外のところでそのデータにアクセスすることができます。しかし、私は確かにそこにイオン的方法もあります.. – mxii

+0

ありがとう、私はそれを解決しました。これは私を助けた:https://forum.ionicframework.com/t/passing-data-in-from-modal/61051/4 – splunk

関連する問題