2017-01-17 17 views
0

に結合しないWifiWizard.getCurrentSSID私はこのpage.html持っは、入力フィールドの値のイオン2

import { Component } from '@angular/core'; 
import { NavController, NavParams } from 'ionic-angular'; 
import { LoadingController } from 'ionic-angular'; 

declare var WifiWizard; 

@Component({ 
    selector: 'page-add-device', 
    templateUrl: 'add-device.html' 
}) 
export class AddDevicePage { 

value: any; 
currentSSID: string; 
    constructor(public navCtrl: NavController, public navParams: NavParams , public loadingCtrl: LoadingController, public platform:Platform) { 
WifiWizard.getCurrentSSID(this.ssidHandler, this.fail); 
    } 
ssidHandler(s) { 
    alert(s) 
    this.currentSSID=s; 
} 
fail(e){ 
    alert("Please connect to your local WIFI "); 
} 
} 

を私は本当に理由を把握カントthis.currentSSID = sで入力フィールドにssid値を設定していません... 私が行ってこれを配置すると、this.currentSSID = 'テスト123'がコンストラクタの先頭にssid入力フィールドにバインドされています。

+0

アラート()内に値がある場合は、この範囲に問題があります。私はあなたがthis.currentSSID(あなたがそれを使用した方法)を使用しているとき、これはAddDevicePageを参照していないことを意味します。 –

答えて

0

あなたがこの方法を試すことができます:

は、代わりにクラスの一部としてハンドラ関数を宣言するのは、ローカルの機能として、それらを作成して、同じことを試すことができます:あなたのコンストラクタ内 :

WifiWizard.getCurrentSSID(ssidHandler, fail);//removed 'this' 
function ssidHandler(s) {//declare inside the constructor locally 
    alert(s) 
    this.currentSSID=s; 
} 
function fail(e){//declare inside the constructor locally 
    alert("Please connect to your local WIFI "); 
} 

EDIT : 'this'のスコープとは何か。 解決方法:var self = this;//in the constructor outside of the callback functionsと内部ssidHandler(), self.currentSSID = s;

+0

同じ結果です。アラートに「s」が表示されますが、「this.currentSSID」にバインドされていません。私は "WifiWizard"がコードワイヤープラグインであることに言及する必要があります。 – miki

+0

エラーが発生しましたか? –

+0

いいえ、currentSSIDにバインドしていません。私はこの行を置く:this.currentSSID = "yyy";これの前に:WifiWizard.getCurrentSSID(ssidHandler、失敗);それはバインドされているので、私は理解していません... – miki

関連する問題