0
모바일 앱에서 인증을 구현하려고합니다. 기본적으로 사용자는 버튼을 클릭하여 인증이 완료되면 InAppBrowser에서 URL을 엽니 다. 그런 다음 REST URI를 호출하여 현재 사용자를 새로 고칩니다. 마지막으로 $scope
을 새 데이터로 새로 고칩니다. 문제는 전체 범위가 새로 고쳐지지 않는다는 것입니다.전체 범위를 새로 고치는 방법
$scope.user
은 새로 고치지 만 $scope.userLoggedIn
이 아니며 $scope.user
에 의존합니다.
resolve: {
user: ['User', function (User) {
return User.current(function (user) {
return user;
}, function (error) {
return {};
});
}
]
},
controller: function ($scope, $window, user, $translate, $parse) {
$scope.user = user;
$scope.redirectTo = function (path) {
var x = $window.open(path, '_blank')
x.addEventListener('loadstop', function(event) {
// $scope.$apply(function(){ //let angular know the changes
alert('loadStop: ' + event.url);
var url = event.url;
var filename = url.substring(url.lastIndexOf('/')+1);
if(filename == "mobile.login.html"){
x.close();
alert("refresh current user");
user.$current(function (data) {
alert(data);
$scope.user = data;
alert(data);
alert($scope.userLoggedIn);
});
}
// });
});
//$window.location.href = path;
};
$scope.userLoggedIn = $scope.user.profile !== undefined;
}