Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 使用vi18n更改区域设置将删除查询和哈希_Vue.js_Vue Router_Vue I18n - Fatal编程技术网

Vue.js 使用vi18n更改区域设置将删除查询和哈希

Vue.js 使用vi18n更改区域设置将删除查询和哈希,vue.js,vue-router,vue-i18n,Vue.js,Vue Router,Vue I18n,我正在使用vuejs和vi18n构建一个单页网站。下面是一个场景,当我单击其中一个导航链接时,它会滚动以查看页面的特定部分 localhost/en/#about 更改区域设置会起作用,它会从英语更改为日语,反之亦然。但是我注意到#about被删除了 localhost/jp/ 有没有一种方法在更改区域设置时不会删除散列?据我所知,在路由更改时,默认情况下会删除散列 因此,您可以通过另一种方式执行此操作,在路由更改之前,将#散列存储在存储器中: window.localStorage.set

我正在使用vuejs和vi18n构建一个单页网站。下面是一个场景,当我单击其中一个导航链接时,它会滚动以查看页面的特定部分

localhost/en/#about
更改区域设置会起作用,它会从英语更改为日语,反之亦然。但是我注意到
#about
被删除了

localhost/jp/

有没有一种方法在更改区域设置时不会删除散列?

据我所知,在路由更改时,默认情况下会删除散列

因此,您可以通过另一种方式执行此操作,在路由更改之前,将
#散列
存储在存储器中:

window.localStorage.setItem('hash',window.location.hash)
然后,在布线挂钩中:

router.beforeach((to,from,next)=>{
//...
让hashCache=window.localStorage.getItem('hash')
让toUrl=to.path+hashCache?`${hashCache}`:“”
//...
下一个(图尔)
//...
})