2014-09-25 33 views
1

我試圖從Laravel返回true或false到Angularjs中的$ scope指令。這是被稱爲laravel代碼:

public function check() { 
    return Response::json(Auth::check()); 
} 

這是查詢Laravel服務:在控制檯

app.factory('UserService', ['$http', '$location', function($http, $location) { 

    return { 
     loggedIn: function() { 

      var c = $http.get('/auth/check'); 
      c.success(function(data) { 
       console.log(data); 
       return data; 
      }); 

     } 
    } 

}]); 

響應日誌很好,但我不能似乎將它綁定到$範圍指令:

app.controller('BaseController', ['$scope', 'UserService', function($scope, UserService) { 

    $scope.loggedIn = UserService.loggedIn(); 

}]); 

返回沒事的時候我叫它爲:

{{ loggedIn }} 

...在我看來。

任何幫助?

回答

0

$http服務返回承諾。所以,你會寫類似

app.factory('UserService', ['$http', '$location', function($http, $location) { 

    return { 
     loggedIn: function() { 
      return $http.get('/auth/check'); 
     } 
    } 

}]); 

控制器:

UserService.loggedIn().success(function(data) { 
    $scope.loggedIn = data; 
});