操作后重定向用户

Redirecting users after an action

如果用户成功登录,我正在尝试实现重定向。我试图调用 this.$router.push('/profile') 然后在登录后回调,但是我收到一条错误消息 Error Cannot read properties of undefined (reading '$router') 我不确定是否有新的流程来完成这项工作,因为我正在使用 composition with <script setup> 语法。我在线阅读了文档参考,但仍然没有看到任何关于如何进行此类导航的具体内容。如何使用新的 vue3 组合 api 实现此目的?看来我少了什么。

如果在脚本中使用setup(),则无法使用$router 访问路由器。 如果你使用vue3,这段代码可以帮助你:

<script>
import { defineComponen } from 'vue'
import { useRouter } from 'vue-router'

export default defineComponent({
  setup() {
    const router = useRouter()
    function login() {
     router.push('/profile')
    }
    return {
      login
    }
  }
})
</script>