각도 응용 프로그램에서 ui-router를 사용하고 있습니다. 현재 나는 두 경로/로그인 &/user를 가지고 있습니다. 처음에는 사용자가 로그인 버튼을 클릭하면 AJax 요청을 보내고 사용자 ID를 가져올 때/로그인하는 것을 보여줍니다. 나는 사용자 ID를 localstorage에 저장하고 상태를/user로 변경합니다.상태 제공자의 해결 방법에서 각도 응용 프로그램의 상태를 변경하십시오.
사용자가 로그인하지 않은 상태에서 사용자가 주소 표시 줄을/user로 변경하면보기가 변경되지 않고 주소창 URL이/signin으로 다시 변경됩니다.
해결 방법을 사용하려고하지만 작동하지 않습니다. 내 코드 : -
module.exports = function($stateProvider, $injector) {
$stateProvider
.state('signin', {
url: '/signin',
template: require('../templates/signin.html'),
controller: 'LoginController'
})
.state('user', {
url: '/user/:id',
template: require('../templates/user.html'),
resolve:{
checkLogin: function(){
var $state = $injector.get('$state');
console.log("in resolve");
if (! window.localStorage.getItem('user-id')) {
console.log("in if")
$state.go('signin');
}
}
},
controller: 'UserController'
})
}
이 문제를 해결하는 데 도움을주십시오.
'if'가 프린터를 콘솔로 가져 옵니까? –