ОШИБКА TypeError: Невозможно прочитать свойство 'then' из undefined при сохранении контакта в IONI C 4 - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу сохранить контакт в моей телефонной книге.
Я следовал инструкциям на https://ionicframework.com/docs/native/contacts

подробно. html

<div class="call">
     <ion-buttons slot="primary">
         <ion-button size="small" (click)="save(memberData.contact_no,memberData.fname,memberData.lname)">
              Save Contact
              <ion-icon slot="end" name="phone-portrait"></ion-icon>
         </ion-button>
     </ion-buttons>
</div>

detail.ts

import { Contacts, Contact, ContactField, ContactName } from '@ionic-native/contacts/ngx';

constructor(private contacts: Contacts) { }

save(number: string, firstName: string, lastName: string) {
    // alert(number + " " + firstName + " " + lastName);

    let contact: Contact = this.contacts.create();

    contact.name = new ContactName(null, firstName, lastName);
    contact.phoneNumbers = [new ContactField('mobile', number)];
    contact.save()
    .then(() => console.log('Contact saved!', contact),
      (error: any) => console.error('Error saving contact.', error))
    .catch(err => console.log('Catch : Error saving contact', err));
  } 

Ошибка

общие. js: 290 Собственный: пробовал звонить Contacts.create, но Cordova не доступен. Убедитесь, что вы включили cordova. js или запустили в устройстве / симуляторе

MemberDetailPage. html: 17 ОШИБКА TypeError: Невозможно прочитать свойство 'then' из неопределенного

enter image description here

1 Ответ

1 голос
/ 29 февраля 2020

Вы получаете эту ошибку при тестировании в браузере. Попробуйте запустить android студийную версию вашего приложения для Android или внутри XCode для iOS, чтобы посмотреть, работает ли плагин.

Если вы пытаетесь протестировать плагины Cordova только в браузере, возможно, это может помочь https://docs.microsoft.com/en-us/visualstudio/cross-platform/tools-for-cordova/first-steps/simulate-in-browser?view=toolsforcordova-2017.

В общем случае всегда используйте реальное устройство или эмулятор для тестирования собственных возможностей.

...