Vuejs2 VueJS如何在保护之前注册全局

Vuejs2 VueJS如何在保护之前注册全局,vuejs2,vue-router,Vuejs2,Vue Router,在每条路线的每个弯钩之前,如: 我的页面应滚动至路线更改的顶部 const router=new VueRouter{…} router.beforeachto,from,next=>{ window.scrollTo0,0 下一个 } 但我的路由器有另一种结构,它不工作: 从“Vue”导入Vue 从“vue路由器”导入路由器 从“@/components/HelloWorld”导入HelloWorld 从“@/components/Contact”导入联系人 Vue.useRouter 导出默

在每条路线的每个弯钩之前,如: 我的页面应滚动至路线更改的顶部

const router=new VueRouter{…} router.beforeachto,from,next=>{ window.scrollTo0,0 下一个 } 但我的路由器有另一种结构,它不工作:

从“Vue”导入Vue 从“vue路由器”导入路由器 从“@/components/HelloWorld”导入HelloWorld 从“@/components/Contact”导入联系人 Vue.useRouter 导出默认新路由器{ beforeach:to、from、next=>{ window.scrollTo0,0 下一个 }, 路线:[ { 路径:“/”, 名称:“HelloWorld”, 组件:HelloWorld }, { 路径:'/kontakt', 姓名:'联系人', 组件:触点 }, ] } 提前谢谢= 还是使用组件上的.created钩子滚动到页面顶部更好

创造{ window.scrollTo0,0; }
我认为您应该在创建路由器之后放置Router.beforeach。

我认为您应该在创建路由器之后放置Router.beforeach。

您可以根据以下要求调整代码结构:

从“Vue”导入Vue 从“vue路由器”导入路由器 从“@/components/HelloWorld”导入HelloWorld 从“@/components/Contact”导入联系人 Vue.useRouter //使用有效的初始化创建对象路由器 const router=新路由器{ 路线:[{ 路径:“/”, 名称:“HelloWorld”, 组件:HelloWorld }, { 路径:'/kontakt', 姓名:'联系人', 组件:触点 }, ] }; //在每个挂钩之前添加 router.beforeachto,from,next=>{ window.scrollTo0,0; 下一个 }; //将路由器导出为默认值 导出默认路由器;
您可以将代码调整为以下内容所需的结构:

从“Vue”导入Vue 从“vue路由器”导入路由器 从“@/components/HelloWorld”导入HelloWorld 从“@/components/Contact”导入联系人 Vue.useRouter //使用有效的初始化创建对象路由器 const router=新路由器{ 路线:[{ 路径:“/”, 名称:“HelloWorld”, 组件:HelloWorld }, { 路径:'/kontakt', 姓名:'联系人', 组件:触点 }, ] }; //在每个挂钩之前添加 router.beforeachto,from,next=>{ window.scrollTo0,0; 下一个 }; //将路由器导出为默认值 导出默认路由器;
beforeEach在使用导出默认新路由器语法时不触发,不知道why@MariusAndreiana你试过按照我的回答中的语法吗?这是文档中描述的方式:是的,这很有效,谢谢!只是注意到另一种方式,导出默认新路由器,在使用导出默认新路由器语法时每个都不会触发,不知道why@MariusAndreiana你试过按照我的回答中的语法吗?这是文档中描述的方式:是的,这很有效,谢谢!只是注意到另一种方式,导出默认的新路由器,不起作用