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 |