ERROR TypeError:在IONIC 4中保存联系人时无法读取未定义的属性'then'

问题描述 投票:0回答:1

我想将联系人保存到我的电话簿中。我按照https://ionicframework.com/docs/native/contacts]上的说明进行操作

detail.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));
  } 

错误

common.js:290本机:尝试调用Contacts.create,但Cordova不可用。确保包含cordova.js或在设备/模拟器中运行

MemberDetailPage.html:17错误TypeError:无法读取未定义的属性'then'

enter image description here

我想将联系人保存到我的电话簿中。我遵循了https://ionicframework.com/docs/native/contacts detail.html上的说明。>>

您在浏览器中进行测试时遇到此错误。尝试启动适用于Android的应用或适用于iOS的Xcode的Android Studio版本,以查看插件是否有效。

[如果您要尝试仅在浏览器中测试cordova插件,这可能会帮助https://docs.microsoft.com/en-us/visualstudio/cross-platform/tools-for-cordova/first-steps/simulate-in-browser?view=toolsforcordova-2017

通常,总是使用真实的设备或仿真器来测试本机功能。

android angular ionic-framework ionic4 contacts
1个回答
0
投票

您在浏览器中进行测试时遇到此错误。尝试启动适用于Android的应用或适用于iOS的Xcode的Android Studio版本,以查看插件是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.