【发布时间】:2016-12-07 22:39:02
【问题描述】:
我在 android 上使用 angular & apache cordova 开发的应用程序有问题。
首先,我从智能手机中获取联系人列表并将其存储在 var 中:$scope.listecontacts
// alert('nb contacts '+contacts.length);
for (var i = 0; i < contacts_1.length; i++)
{
if(contacts_1[i].phoneNumbers != null && contacts_1[i].name != null && typeof contacts_1[i].phoneNumbers != 'undefined')
{
if($scope.numero_tel==0)
{
$scope.numero_tel = contacts_1[i].phoneNumbers[0].value;
}
$scope.listecontacts.push(contacts_1[i]);
}
}
第二次我尝试像这样在 html dom 中显示它:
<div ng-repeat="t in listecontacts" >{{(t.name.formatted)}}</div>
当我启动我的应用程序时,它运行良好,但是当我返回主页然后进入获取联系人列表的视图时,DIV 未填充联系人列表。
我检查了变量:$scope.listecontacts,它不为空......
有人遇到过这个问题吗?
你有什么想法吗?
非常感谢!
【问题讨论】:
-
$scope.listecontacts确实被销毁了,它没有被保留,您需要使用 get 方法创建一个服务,该方法返回数组并将该服务合并到您的代码中。 -
尝试和console.log() 什么时候显示视图,对于初学者来说,我们应该知道当你进行查询时,它会比显示的视图花费更长的时间,最重要的是你必须预计除了查询时间之外,您还获得了循环和 object.push() 函数。尝试在循环完成后更新变量……
-
循环后如何更新变量?我在循环中尝试了这个: $scope.$apply(function () { $scope.listecontacts.liste_1.push(contacts_1[i]); });但没有效果:-/
标签: javascript android angularjs cordova