我想在Vue.js中做一个类似于香草javascript的重定向

window.location.href = 'some_url'

我如何在Vue.js中实现这一点?


当前回答

<div id="app">
   <a :href="path" />Link</a>
</div>

<script>
      new Vue({
        el: '#app',
        data: {
          path: 'https://www.google.com/'
        }
      });
</script> enter code here

其他回答

你也可以直接在模板上使用v-bind,就像…

<a :href="'/path-to-route/' + IdVariable">

:是v-bind的缩写。

如果你正在使用vue-router,你应该使用router.go(path)来导航到任何特定的路由。路由器可以在组件中使用。$router来访问。

否则,window.location.href = 'some url';适用于非单页应用程序。

编辑:router.go()在VueJS 2.0中更改。你可以使用$router。Push ({name: "yourroutename"})或者只是router.push("yourroutename")现在重定向。

文档

注意:在控制器中使用:this.$router。Push ({name: 'routename'})

如果您正在使用Composition API,方法是使用类似这样的东西

<script setup>
import { useRouter } from 'vue-router'
const router = useRouter()

router.push({ name: 'about' })
</script>

您可以使用Vue devtools检查路由的名称

我也建议使用name,因为如果你想要更新某个路径,你不需要重写所有的按钮/链接。

只使用:

window.location.href = "http://siwei.me"

不要使用vue-router,否则会被重定向到 “http://yoursite.com/ # ! / http://siwei.me”

我的环境:节点6.2.1,vue 1.0.21, Ubuntu。

我使用Vue3,这对我来说是有效的

router.push({ name: 'myRoute' })