为什么这个函数不在页面加载时执行?

时间:2015-05-10 19:21:09

标签: angularjs

我有一个侧边栏,其中包含来自各种社交媒体的Feed,以及AngularJS中的一项服务,该服务用于查询我的API以获取数据。下面是控制器,以及服务(按此顺序)。为什么不在页面加载时执行,如何在将页面呈现给客户端时重写代码以使其加载数据?

angular.module('HomeCtrl', ['MediaServ']).controller('HomeController', [
'$scope',
'MediaServ',
'$rootScope',
function($scope, $rootScope, MediaServ){
    if ($rootScope){
        $scope = $rootScope;
    }
    function handleRes(response){
        console.log('hello!');
    }
    angular.element(document).ready(function () {
        $scope.SocialMedia = function(){
            MediaServ.feed()
              .then(handleRes, handleRes);
        }
    });

}]);
angular.module('MediaServ', []).service('MediaServ', [
'$http',
function($http){
  this.feed = function(){
    return $http.get('/api/social/feed');
  }
}]);

1 个答案:

答案 0 :(得分:2)

您不需要将代码包装在angular.element(document).ready(function () { });

如果页面中有引用,控制器将自动在页面加载时执行。