理解 Vue Router 和路由功能
Vue Router可是Vue.js里面安装好了的玩意儿!网页上那啥一点击,就能立马看到想要的内容,就靠它。做网站,要是没有这摸手艺可不行,咱们得照着客人想知道的信息给他们展示。这时候,Vue Router就是咱们的得力助手。它不仅能设定各个页面的链接地址,还能搞定参数和权限这些烦人的事情。最赞的就是,遇到那种复杂的多级别跳转,它也是信手拈来,像吃饭喝水那么简单
想学怎么用VueRouter做高级跳转?快试下meta属性!它就是个便捷的小工具箱,只要将你要的内容放进去,就能轻松完成分级跳转。学会用它,咱们普通老百姓也能轻松地找到想去的地方!
定义跳转函数
首先想要实现多级重定向这个功能,首先得弄个指南函数,就是告诉你接下去该往哪儿跳的那种。比如,没登入的话就直接蹦到登录页;没有权限的话,就乖乖地去没权限的那页。
配置路由 meta 字段
搞定路由设置嘛,要试试跳转那个法子,看看加上 meta 字段后还需不需要跳。把每个步骤的meta字段加上去,弄好后试跳个页面,看看是不是确实解决了多层级重定向的问题。
使用 beforeEach 钩子进行重定向
接着,咱来说说VueRouter那个叫foreveryeach的全局钩子。你每换个网页,它就得运行一遍。那我们就把之前聊过的那个跳转代码放上去,顺道儿瞅瞅met里是不是提醒要换页了。真要换?给个新地址吧;不用换?还用原先的页面呗!
// 跳转函数 function redirect(to) { if (!user.isAuthenticated) { // 没有登录,跳转到登录页 return { path: '/login', query: { redirect: to.fullPath } } } else if (!user.hasPermission(to.meta.permission)) { // 没有权限,跳转到无权限页面 return { path: '/unauthorized' } } else { // 有权限,继续访问原页面 return { next: true } } }
具体代码示例
简单点说,咱们要做到这样:如果有谁根本都没登陆跑到首页来了,那咱得赶紧把他送到登陆的地方去;要是瞧见他们已经在了,但某些东西却不让他看,那咱也得让他们赶紧到保密的页面。最后,搞点儿跳转小玩意儿就是啦:
javascript 给大家介绍一下redirectFunc这个超级方便的跳转函数!用上它,网页跳转就没那么复杂了。只要我们告诉它(想去哪里,现在在哪里,接下来要去哪里),其他事情都让它自己搞定就行啦! 用户啥也不干就让进?这样可不行,先登上再说呗!// 路由配置 const routes = [ { path: '/', name: 'home', component: Home, meta: {} }, { path: '/login', name: 'login', component: Login, meta: {} }, { path: '/unauthorized', name: 'unauthorized', component: Unauthorized, meta: {} } ]next('/login');
如果用户有登录,且对页面有权限,但他没有这个权限的话?
next('/unauthorized');
} else {// 路由配置 const routes = [ { path: '/', name: 'home', component: Home, meta: { requiresAuth: true } }, // ... ]next();
}
};// 路由配置 const routes = [ { path: '/', name: 'home', component: Home, meta: { requiresAuth: true } }, { path: '/admin', name: 'admin', component: Admin, meta: { requiresAuth: true, permission: 'admin' } }, // ... ]嘿,咱们先别急嘛!马上到路由器设置那边添个跳转选项,再稍微改改那些元数据参数就行了。
const routes =[
路径就是’/’,主页就在这等你;登陆后就能看到!
登录路径是’/login,对应的组件就是Login。
// 路由配置 const router = new VueRouter({ routes }) // 全局路由守卫 router.beforeEach((to, from, next) => { const redirectTo = redirect(to) if (redirectTo.path) { // 跳转到指定页面 next(redirectTo) } else { // 继续访问原页面 next() } })用哪个牌子的配件就能修好‘/unauthorized’
];
别忘了,考试前先运行下”beforeEach”全局钩子和跳转函数!
路由器会自动保护你每次上网,无论从哪里来,到哪去,做啥事,都会被照顾到!
跳转按钮(看哪,看这,上);
});
搞定!现在我们的Vue Router能实现多级跳转。想去哪就去哪,还有强大的守护系统保驾护航,让你无论在哪儿都能找到归途。
总结与展望
搞定Vue Router的多级跳转,关键就在于会用两个小窍门:Meta字段和Global Guard函数。首先想清楚你想让页面怎么跳转,然后给每个路径都添加一下Meta字段并设置一个全局防护罩,这样页面就能按照你的心意来了!读完这篇文章,你也可以轻松驾驭Vue Router多级跳转功能~
原文链接:https://www.icz.com/technicalinformation/web/2024/04/15017.html,转载请注明出处~~~
评论0