持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情juejin.cn/post/714765…
今天给大家分享一下有关Vue的元信息、滚动行为、懒加载、导航故障的知识,故障导航理解的不是很透彻,没有做详细解释,等到理解的时候再来补充吧!!!
路由元信息:meta属性
如何获取元信息meta?
直接$route.meta
- 它包含了组件的信息,值可以是一个对象,键名自定义,通过
$route.meta可以读取到元信息。 - 通常用来做一些权限验证,这个用户是否有权限进入我的组件以及一些操作。可以用来判断用户是否是一级用户,不是的话就提示不能进行操作修改,删除。
- 为什么写在配置里?因为万一让三级用户可以有权限的话,这样我只改meta里的数据就行了,就不用去需改具体的vue文件代码,在这改会更方便。
- 例如:
如上是在写了路由导航组件里传query值
以上meta是在路由配置里进行配置,并利用beforeEnter钩子进行判断权限是否一致,才可以进行跳转。
滚动行为
- 语法:直接在路由配置文件里,创建
new VueRouter对象时,添加scrollBehavior方法,该方法接收to, from, savedPosition三个参数。 - 参数解释:
to:要进入的路由组件,from:要离开的路由组件,-
savedPosition:只有当这是一个popstate导航时才可用(由浏览器的后退/前进按钮触发)。
- 该函数返回一个位置对象,也就是点击导航按钮时,滚动条回到哪个位置。代码如下:
哈希值位置,在路由组件里进行配置,给一个标记添加id属性,值为传过去的哈希值,但是不带#。
注意:这个功能只在支持history.pushState的浏览器中使用
路由懒加载
- 就是使用import()方法,异步引入组件
- 加入一句话
/*webpackChunkName:"group-foo"*/加上这句话打包的时候会把所有的异步组件打包到一个js文件里