Vue 인증
P粉765684602
P粉765684602 2023-08-18 10:33:04
0
1
580
<p>Vue를 사용하여 이 작은 앱을 만들고 있는데 인증이 작동하지 않습니다. 정확하게 말하면 리디렉션이 작동하지 않고 true 로그와 인증된 로그가 모두 표시되지만 홈 페이지(/)로 리디렉션되지 않습니다. 하지만 앱을 열면 즉시 /login으로 이동합니다. 이는 괜찮습니다. 저도 그렇게 하고 싶지만 로그인하려고 할 때 말했듯이 리디렉션되지 않습니다. </p> <p>이것은 내 로그인 구성 요소와 라우터입니다. </p> <pre class="brush:php;toolbar:false;">'vue-router'에서 { createRouter, createWebHistory } 가져오기 '@/views/LoginView.vue'에서 LoginView 가져오기 '../views/AboutView.vue'에서 AboutView를 가져옵니다. '@/views/LoginView.vue'에서 isAuthenticated를 가져옵니다. const 라우터 = createRouter({ 기록: createWebHistory(import.meta.env.BASE_URL), 경로: [ { 경로: '/로그인', 이름: '로그인', 구성 요소: LoginView }, { 길: '/', 이름: '집', 메타: { 인증 필요: 사실 }, 구성요소: AboutView, beforeEnter:(to,_,next)=>{ if(to.meta.requiresAuth && !isAuthenticated.value){ 다음('/로그인'); } 또 다른{ 다음(); router.push('/'); } } } ] }) 기본 라우터 내보내기</pre> <pre class="brush:php;toolbar:false;"><템플릿> <div> <h2>로그인하려면 액세스 토큰을 입력하세요</h2> <시간 /> <div class="col-md-8"> <section id="loginForm"> <form @submit.prevent="checkAccessToken"> <div class="form-group"> <label><b>액세스 토큰</b></label> <input v-model="accessToken" type="password" class="form-control" /> </div> <input type="submit" value="Login" class="btn btn-primary" /> </양식> </섹션> </div> </div> </템플릿> <스크립트 설정 lang="ts"> 'vue'에서 { ref} 가져오기 '@/router/index'에서 라우터 가져오기 const isAuthenticated = ref(false); const accessToken = ref(''); const checkAccessToken = () => if (accessToken.value === '123') { isAuthenticated.value = true; console.log(isAuthenticated.value); console.log('확인됨'); router.push('/'); } 또 다른 { } }; <p><br /></p>
P粉765684602
P粉765684602

모든 응답(1)
P粉141455512

router.push()작동하지 않는 경우

그런 다음 vue-router와 유사한 가져오기 방법을 사용해 보세요

으아악

그런 다음 router.push('/')

을 사용하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿