我正在尝试使用ng-cordova
获取手机中的所有联系人,我成功完成以下操作,我在AngularJS中创建了一项服务:
.factory("ContactManager", function($cordovaContacts) {
return {
getContacts: function() {
var options = {};
options.filter = "";
options.multiple = true;
//get the phone contacts
return $cordovaContacts.find(options);
}
}
})
find
中的ng-cordova
方法也不像以下那样:
find: function (options) {
var q = $q.defer();
var fields = options.fields || ['id', 'displayName'];
delete options.fields;
navigator.contacts.find(fields, function (results) {
q.resolve(results);
},
function (err) {
q.reject(err);
},
options);
return q.promise;
}
在控制器内执行以下操作:
ContactManager.getContacts().then(function(result){
$scope.users= result;
}, function(error){
console.log(error);
});
我注意到在$scope.users
我找到formatted, middleName ...
,但我找不到phoneNumber,我怎样才能得到phoneNumbers?
答案 0 :(得分:1)
如果您log
有联系人,则应该看到其中包含phoneNumbers
数组的对象。
ContactManager.getContacts().then(function(result){
$scope.users= result;
console.log(result);
...
如果你不这样做,那就是别的了。
我还做了一个有点接近模拟 json 的回报。