我有一个侧边栏,其中包含来自各种社交媒体的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');
}
}]);
答案 0 :(得分:2)
您不需要将代码包装在angular.element(document).ready(function () { });
如果页面中有引用,控制器将自动在页面加载时执行。