res.render()
을 사용하지 않고 정적 파일을 계속 보내려면 서버에서 전달하는 대신 클라이언트 측에서 사용자 정보를 요청해야합니다.
각도를 사용하여 사용자 세부 정보를 요청하는 몇 가지 방법이 있습니다. 가장 간단한 정보를 필요로하는 컨트롤러에서 그것을 할 아마도 :
// UserController.js
app.controller('UserController', function (UserService) {
UserService.resolveUser().success(function (user) {
$scope.user = user;
});
});
// UserService.js
app.factory('UserService', function ($http) {
return {
resolveUser: function() {
return $http.get('/user');
},
}
});
당신은 또한 사용자 정보를 요청하고 사용할 수있을 때까지 경로의로드를 지연 $routeProvider
에 resolve
방법을 사용할 수 있습니다.
... 또는 모든 경로에서 사용자 정보가 필요하면 앱을 수동으로 부트 스트랩 할 수 있습니다.
Angular 또는 Node.js와 같은 추가 정보가 필요하면 알려주세요. 여기서는 다루지 않았습니다.
는 편집 :
angular.module('app', []);
// We only need invoke in order to use the $http service
// before we are bootstrapped.
angular.bootstrap().invoke(function ($http) {
$http.get('user.json').success(function (data) {
angular.element(document).ready(function() {
angular.module('app').constant('USER', data);
angular.bootstrap(document, ['app']);
});
});
});
angular.module('app').run(function (USER) {
console.log(USER);
});
당신은 찾을 수 귀하의 코멘트에 관련하여
, 이것은 당신이 사용자 정보를 요청 $ HTTP를 사용 만 한 후 앱을 부트 스트랩 수있는 방법입니다 라이브 예 : this Plunker.
내 대답이 문제를 해결 했습니까? 그렇지 않으면 알려주세요. 그랬다면 그것을 수락하십시오. 그게 당신과 저와 나머지 커뮤니티의 도움이됩니다. – bernhardw