2013-09-15 3 views
0

Я пытаюсь поместить конечную точку авиалинии Google в Угловую службу, чтобы сделать логику более ясной. Но я не знаю, как позволить контроллеру обновлять модель (значение, полученное от этой службы), когда ответы оконечной точки облака. Вот код: Услуги:Конечная точка облака в угловом сервисе

angular.module('fooApp').service('FooService', function FooService() { 
//variable to keep the data from server 
var tl={}; 

this.retrieve=function(){ 

    //cloud endpoint api callback 
    var gapiCallback=function(){ 
     gapi.client.fooendpoint.foos.listFoos().execute(function(resp) { 
        tl=resp.items; 
     }); 
    }; 

    var apiRoot='https://fooapp.appspot.com/_ah/api'; 
    gapi.client.load('fooendpoint', 'v1', gapiCallback, apiRoot); 
}; 


this.get=function(){ 
    console.log(tl); 
     return tl; 
    } 
    }); 

Контроллер:

angular.module('fooApp').controller('DeviceCtrl', function ($scope,FooService) { 

FooService.retrieve(); 

$scope.myFoos =FooService.get(); 

});

Вид:

<ul class="nav nav-list"> 
    <li ng-repeat="t in myFoos "> 
     <ul> 
      <li >Foo attr1 = {{t.attr1}}</li> 
      <li >Foo attr2 = {{t.attr2}}</li> 
     </ul> 
    </li>         
</ul> 

Спасибо заранее.

ответ

0

Оберните FooService.get(), позвоните в $apply, чтобы запустить цикл дайджеста, чтобы пользовательский интерфейс обновился.

$scope.$apply(function() { 
    $scope.myFoos = FooService.get(); 
}); 
Смежные вопросы