我正在尝试在智能手机上显示我的联系人列表。我可以做到这一点,但要求显示列表的唯一方法是通过 ng-click 调用 findcontact() 函数。
我试图从控制器中调用 findcontact() 函数,但没有运气。
如何在不单击此按钮的情况下显示此列表?
首先是javascript,然后是HTML。
angular.module('starter.controllers', [])
.controller('contacts2', ['$scope', 'PhoneContactsFactory', function($scope, PhoneContactsFactory) {
$scope.findContact = function()
{
PhoneContactsFactory.find().then(function(contacts)
{
$arr = [];
for (var i = 0; i < contacts.length; i++)
{
$arr.push({name: contacts[i].name.formatted})
}
$scope.contacts = $arr;
});
};
}])
.factory("PhoneContactsFactory", ['$q', function($q)
{
return {
find: function()
{
var deferred = $q.defer(); // asynchronous
var options = new ContactFindOptions();
options.multiple = true;
var fields = ["displayName", "name"];
navigator.contacts.find(fields,
function(contacts){ deferred.resolve(contacts); }, //onsuccess
function(error){ deferred.reject(error); }, // onerror
options);
return deferred.promise;
}
};
}]);
<div ng-controller="contacts2">
<button ng-click="findContact()">Push 2</button>
<ion-list>
<ion-item ng-repeat="contact in contacts">
{{contact.name}}
</ion-item>
</ion-list>
</div>
非常感谢 !
yts