我是 stackoverflow 论坛的新人,我决定创建这个主题来解决我被困了 2 周的问题。
我有以下内容:
我正在尝试使用 ngCordova 联系人模块 ( $cordovaContacts ) 来检索联系人的电话号码。问题是“导航器”对象有错误。我发现无法访问这些对象的字段(函数、应用程序、联系人、闪屏),因此当我调用 $cordovaContacts.find(...) 时,它显示错误:“找不到未定义的属性” ”。我投入了一些时间调试,当我使用时:
console.log(navigator);
控制台显示:
[object Object]
services.js (21,15)
CordovaNavigator
_ {_
_ [functions]: ,_
_ proto: { },_
_ app: { },_
_ contacts: { },_
_ splashscreen: { }_
_ }_
但是当我打印 navigator.contacts 对象时,它显示未定义
我也尝试使用 navigator.CordovaNavigator 但也未定义。
加载控制器时会调用此代码。
我不知道为什么它显示导航器有一个属性 contact,然后当我调用它时它显示 UNDEFINED 。也许我需要建立一些访问权限?
我真的很迷茫,所以你告诉我的任何事情都会有所帮助。非常感谢。
如果您尝试在控制器负载上获取联系人(意味着您不会在另一个方法内或通过超时/间隔手动触发它),则需要使用 ionicPlatform.ready() 方法来包装它,否则插件当时还没有准备好。
ionic.Platform.ready(function(){
$cordovaContacts.find().then(function(allContacts) {
$scope.contacts = allContacts;
});
});