我正在使用vue.js
,我希望能够将用户重定向到导航栏beforeRouteEnter
如果用户的当前城市不在网址中并重定向,则可以获取该用户的当前城市。
例如,如果您输入london.example.com
,您就可以了。
如果您输入example.com
,我希望将用户重定向到london.example.com
window.location.replace
似乎无效
next()
将回复附加到网址中,而不是在其前面添加。
beforeRouteEnter (to, from, next) {
const subdomain = window.location.hostname.split('.')[0]
if (!subdomain) {
axios.get('/api/getCity').then((response) => {
if (response.data) {
window.location.replace(response.data + '.localhost:8080')
next({ path: 'http://' + response.data + '.localhost:8080' })
}
})
}
},
答案 0 :(得分:0)
window.location.href = 'http://' + response.data + '.localhost:8080'
答案 1 :(得分:0)
我会跳过尝试完全使用 window
api,而是使用 Vue Router 的内置重定向功能,方式如下:
beforeRouteEnter (to, from, next) {
// get current route from `from`
if (from.fullPath.contains('whatever') {
// programmatically navigate where you want to go
this.$router.push(path: `my ${desired} url`
}
}