2016-09-01 15 views
0

私はstackoverflowフォーラムで新しく、私はこの問題を解決するためにこのトピックを作成することに決めました。

私は、次のしている:タブパターンを使用して作成

  • のVisual StudioのAndroidエミュレータ
  • イオン1プロジェクト。

ngCordova連絡先モジュール($ cordovaContacts)を使用して連絡先の電話番号を取得しようとしています。問題は、「ナビゲータ」オブジェクトにエラーがあることです。私は、これらのオブジェクト(関数、アプリケーション、連絡先、スプラッシュスクリーン)のフィールドにアクセスすることはできないので、$ cordovaContacts.find(...)を呼び出すと、エラーが表示されます。 "私はいくつかの時間のデバッグを投資し、私が使用している場合:

console.log(navigator); 

コンソールを示しています

[object Object] 

services.js (21,15) 

CordovaNavigator 

_ {_ 

_ [functions]: ,_ 

_ proto: { },_ 

_ app: { },_ 

_ contacts: { },_ 

_ splashscreen: { }_ 

_ }_ 

しかし、私はnavigator.contactsオブジェクトを印刷するとき、それは私も使用しようとした未定義

を示しnavigator.CordovaNavigatorでも定義されていません。

コントローラをロードするときにこのコードが呼び出されます。

なぜナビゲータにアトリビュートの連絡先があるのか​​わかりません。私はそれを呼び出すと、UNDEFINEDと表示されます。たぶん私はいくつかのアクセス権を確立する必要がありますか?

私は本当に迷っていますので、あなたが教えてくれれば助けになると思います。どうもありがとう。

答えて

0

コントローラの負荷でコンタクトを取得しようとしている場合(つまり、別のメソッドやタイムアウト/インターバルで手動でトリガしない)、ionicPlatform.readyにラップする必要があります)メソッドを呼び出すと、プラグインはその時点で準備ができていません。

ionic.Platform.ready(function(){ 
    $cordovaContacts.find().then(function(allContacts) { 
     $scope.contacts = allContacts; 
    }); 
});