AngularJS:gapi客户端提取的数据未显示在UI上

时间:2012-11-21 20:19:26

标签: cloud angularjs endpoints

我有一个角度js应用程序。我正在使用gapi登录,然后调用我的谷歌云端点来获取数据。登录的东西工作正常,它也可以从端点获取数据。

但是在获取数据之后,如果我将数据分配给$scope变量(绑定到UI),则它不会更新UI。甚至没有错误。以下是我的代码段。有什么想法吗?

function TestCtrl($scope){
   $scope.contactsList = [];//UI template is bound to this list
//Assuming the gapi client is already loaded
gapi.client.contactendpoint.list().execute(function(resp) {
            if (!resp.code) {
                $scope.contactsList = resp.items;//Does not update ui list
            } else {
                alert("Error, response is: "
                    + angular.toJson(resp));
            }
        });
}

此致 Nadeem Ullah

1 个答案:

答案 0 :(得分:3)

如果您希望从角度框架外部更新范围(例如,从浏览器DOM事件,setTimeout,XHR或第三方库),则需要使用$ apply()。 有关详情,请访问http://docs.angularjs.org/api/ng.$rootScope.Scope

function TestCtrl($scope){
   $scope.contactsList = [];//UI template is bound to this list
   //Assuming the gapi client is already loaded
   gapi.client.contactendpoint.list().execute(function(resp) {
     if (!resp.code) {

       $scope.$apply(function(scope) {
         scope.contactsList = resp.items;
       });

     } else {
       alert("Error, response is: " + angular.toJson(resp));
     }
  });
}