2017-04-17 9 views
0

Ionic 2用のCordovaプラグインを作成しています。Androidからデータを受信し、コンソールまたはアラートで表示しますが、htmlビューで表示できません。 角2のCordovaプラグインを作成する

device: any[] = []; 

constructor(public navCtrl: NavController, 
      private appService: AppService) { 
} 

ngOnInit(): void { 
    devices_activity.devicesActivity(this.success, this.failure); 
} 

success(aL) { 

    for (var i = aL.length - 1; i >= 0; i--) { 
     aL[i]; 
     console.log('name: ' + aL[i]); 
    } 
} 

failure() { 
    alert("Error calling Devices Stone SDK Plugin"); 
} 

私は device配列に aLを入れてみましたが、私はエラーを得た: ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'device' of null

どのように私はアイテムがHTMLビューでのAndroidから受信し表示することができますか?

+0

あなたのHTMLはどこですか?これは、イオン/コルドバの質問のようには見えませんが、Angular 2の質問です。これらの変数がコンソールログに入力されている場合は、角度コンポーネントとテンプレートの間で変数に正しくバインドされていない可能性があります。多分、成功関数がaL =デバイスのような何かをしたら、私はあなたがテンプレートで2つの方法でバインドするためにそれを公開しているのを見ていますが、あなたのコードが私が見ることのできるものあなたの問題だと思うが、それは意味がある場合 – chairmanmow

+0

私はaL =デバイスをしようとしましたが、エラーが発生しました。それは 'デバイスがnullであると言う' –

+0

申し訳ありませんが、私の悪い、私はその割り当てステートメントを反転した。 device = aLでなければならない – chairmanmow

答えて

1

私はあなたと思うdevice変数が範囲外ですsuccess機能。これを使ってみてください。私はこれがあなたの問題を解決するはずだと思います。

device: any[] = []; 

constructor(public navCtrl: NavController, 
      private appService: AppService) { 
} 

ngOnInit(): void { 
    var scope = this; 
    devices_activity.devicesActivity((aL: any) => { 
    scope.device = aL; 
    },() => { 
    alert("Error calling Devices Stone SDK Plugin"); 
    }); 
} 
+0

ありがとうございました!出来た! –

+0

@ VictorMendes喜んで:)。 – Math10

関連する問題