gpt4 book ai didi

angularjs - AngularJS 服务中的 $cordovaContacts

转载 作者:行者123 更新时间:2023-12-01 08:58:19 25 4
gpt4 key购买 nike

我正在尝试使用 ngCordova module 中定义的 $cordovaContacts 服务。 .我正在尝试在服务中获取电话联系人,以便可以跨 Controller 使用它。

Service.js

angular.module("services", ['ngCordova'])
.factory("ContactManager", function($cordovaContacts) {
var contacts; //variable that holds contacts, returned from getContacts

return {
getContacts: function() {
var options = {};
options.filter = "";
options.multiple = true;

//get the phone contacts
$cordovaContacts.find(options).then(function(result) {
contacts = result;
}, function(err) {
});
return contacts;
}
}
});

Controller.js

angular.module("controllers", ['services'])
.controller("ContactCtrl", function(ContactManager) {
$scope.contacts = ContactManager.getContacts(); //this doesn't get set
});

问题是 '$scope.contacts' 没有在 Controller 内部设置。但是,当直接将服务代码放入 Controller 而不使用服务时,代码可以工作。我一直在试图找出问题所在。请帮忙!

最佳答案

    getContacts: function() {
var options = {};
options.filter = "";
options.multiple = true;

//get the phone contacts
$cordovaContacts.find(options).then(function(result) {
contacts = result;
}, function(err) {
});
return contacts;
}

应该是

    getContacts: function() {
var options = {};
options.filter = "";
options.multiple = true;

//get the phone contacts
return $cordovaContacts.find(options);
}

和 Controller

  $scope.contacts = ContactManager.getContacts().then(function(_result){
$scope.contacts = _result;
}, function(_error){
console.log(_error);
});

关于angularjs - AngularJS 服务中的 $cordovaContacts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com