我想在Vue.js中做一个类似于香草javascript的重定向
window.location.href = 'some_url'
我如何在Vue.js中实现这一点?
我想在Vue.js中做一个类似于香草javascript的重定向
window.location.href = 'some_url'
我如何在Vue.js中实现这一点?
当前回答
如果你想路由到另一个页面,使用这个
this.$router.push({path: '/pagename'});
如果你想路由到另一个页面的参数使用这个
this.$router.push({
path: '/pagename',
params: {
param1: 'value1',
param2: 'value2'
}
});
其他回答
根据文件,是路由器。推送似乎是首选方法:
要导航到不同的URL,使用router.push。此方法将 历史堆栈中的新条目,因此当用户单击浏览器时 返回按钮,他们将被带到以前的URL。
来源:https://router.vuejs.org/en/essentials/navigation.html
供参考:Webpack和组件设置,单页应用程序(通过Main.js导入路由器),我必须调用路由器函数,这样说:
this.$router
示例:如果你想在满足条件后重定向到一个名为“Home”的路由:
this.$router.push('Home')
从api获取特定页面 最简单的方法是向URL添加另一个参数,该参数将破坏缓存。
router.replace(数据。电流+ '?t=' + (new Date())).getTime())
例如
router.beforeEach((to, from, next) => {
axios
.get('http://domazin.com/currentpage')
.then(response => {
const data = response.data
if (to.path != data.current) {
router.replace(data.current + '?t=' + (new Date()).getTime())
} else {
next()
}
})
.catch(error => {
console.log(error)
});
);
<div id="app">
<a :href="path" />Link</a>
</div>
<script>
new Vue({
el: '#app',
data: {
path: 'https://www.google.com/'
}
});
</script> enter code here
如果您正在使用Composition API,方法是使用类似这样的东西
<script setup>
import { useRouter } from 'vue-router'
const router = useRouter()
router.push({ name: 'about' })
</script>
您可以使用Vue devtools检查路由的名称
我也建议使用name,因为如果你想要更新某个路径,你不需要重写所有的按钮/链接。
如果你想路由到另一个页面,使用这个
this.$router.push({path: '/pagename'});
如果你想路由到另一个页面的参数使用这个
this.$router.push({
path: '/pagename',
params: {
param1: 'value1',
param2: 'value2'
}
});