0
사용자를 인증하기 위해 공장에서 리소스를 사용하고 있습니다. 내 컨트롤러에 $scope.user = User.user
을 설정하고 user.username
을 출력합니다. 이 모든 것은 챔피언처럼 작동하지만 페이지를 새로 고칠 때까지는 사용자 이름이 표시되지 않습니다.Scope 속성이 페이지 새로 고침까지 업데이트되지 않습니다.
HTML
app.controller('MainCtrl', ['$scope', '$location', 'User',
function ($scope, $location, User) {
$scope.user = User.user;
$scope.login = function(username, password) {
User.login({username:username, password:password},
function(user) {
$scope.user = user;
$location.path('/');
});
}
}]);
공장
app.factory('User', ['$resource', '$location', function($resource, $location) {
var currentUser = {};
return {
login: function(user, success, error) {
$resource('/login').save(
user,
function(resp) {
user.isLoggedin = true;
currentUser = user;
success(user);
},
function(resp) {
alert(resp.data.message.text);
error(user);
}
);
},
user: currentUser
}
}]);