vue-router를 사용한VueJ 서버 루트로 리다이렉트하는 방법
로그아웃 링크를 클릭하는 사용자를 서버에서 렌더링한 로그아웃 페이지로 리디렉션하려고 합니다.다만, 아래의 코드에서는, 디폴트 패스로 리다이렉트 됩니다.
다음과 같이 플라스크에 서버 루트를 설정하고 있습니다.
@app.route('/logout')
def logout():
logout_user()
return render_template('login.html')
vue에서는 서버 루트로 전송되도록 루트를 리다이렉트합니다.
<template>
<a v-on:click="logout">Logout</a>
</template>
<script>
export default {
name: SomePage.vue
},
methods: {
logout () {
this.$router.replace('/logout')
// I also tried .go('/logout')
}
}
</script>
그럼 라우터에 루트를 설정해야 하나요?
export default new Router {
routes: {
{
path: '/'
component: Default
children: [
{
path: '/logout'
// no component added here - is it needed?
}
]
}
}
이미 /logout으로 리다이렉트 되어 있기 때문에 이 루트에 컴포넌트를 추가하는 것이 도움이 될지 모르겠습니다.기본 /logout으로 이동하여 서버에서 .html 페이지를 가져오기만 하면 됩니다.좋은 생각 있어요?
몇 가지 문제가 있어 해결책을 찾습니다...vuejs 2 +로 시험해 보겠습니다.
this.$router.push('/logout')
를 통한 창 위치 조작$router
메서드에서는 브라우저가 페이지 전체를 새로고침하지 않습니다.창 위치를 수동으로 설정해야 합니다.
window.location.replace('/logout')
언급URL : https://stackoverflow.com/questions/43153406/vuejs-with-vue-router-how-to-redirect-to-a-server-route
'programing' 카테고리의 다른 글
Vue.js를 사용한 인덱스에 따라 렌더링된 목록 항목의 클래스는 어떻게 변경됩니까? (0) | 2022.07.28 |
---|---|
nuxt.js $ 라우터 뒤에 페이지컴포넌트를 새로고침하지 않는 방법푸시() (0) | 2022.07.28 |
Mockito를 사용하여 추상 클래스 테스트 (0) | 2022.07.28 |
문자열 상수에서 'char*'로의 변환이 C에서는 유효하지만 C++에서는 무효인 이유 (0) | 2022.07.28 |
Vuex: 변환 시 평균 대괄호란 무엇입니까? (0) | 2022.07.28 |