泉州网站建设公司推荐,企业关键词排名优化网址,朝阳做网站公司,核桃编程怎么报名网课一.路由懒加载的使用
使用原因
1.使用原因1#xff09; 使用一般写法#xff08;即直接填写组件的缺点#xff09;当使用这种写法#xff0c;页面在初次加载会将所有路由配置表的添加的组件一次性全部加载#xff0c;如果项目中组件代码量庞大#xff0c;就需要很长时间…一.路由懒加载的使用
使用原因
1.使用原因1 使用一般写法即直接填写组件的缺点当使用这种写法页面在初次加载会将所有路由配置表的添加的组件一次性全部加载如果项目中组件代码量庞大就需要很长时间德甲在如果没有加载完页面就会一直显示空白而这种情况带来的用户体验很差所以需要进行优化。2 懒加载写法的好处使用这种写法所有的组件只会在路由地址被访问时才临时加载当我们初次加载页面也只会加载与首页相关的几个文档和组件加载文档体积小页面显示的速度会更快这样就提升了用户体验。3 项目代码的打包与文件的重新构建补充点1 指令npm run build2 目的为了将开发环境和生产环境分离以及优化应用程序的性能和加载速度3 作用1 在开发阶段我们通常会使用许多工具和库来辅助开发例如 Webpack、Babel、ESLint 等。这些工具和库可以帮助我们编写高质量的代码、提高开发效率、优化应用程序的性能等。但是这些工具和库通常会增加代码的体积和复杂度因此在生产环境中不需要使用它们。2 此外开发环境和生产环境的配置也有所不同例如调试信息、代码压缩、错误处理等需要进行不同的设置。因此我们需要将开发环境和生产环境分离将开发环境中的工具和库从最终的产品代码中剔除以提高代码的性能和加载速度。这就是打包构建的作用。3 npm run build 命令会执行项目中的构建脚本将源代码转换为可部署的产品代码并将它们打包成一个或多个文件以便在生产环境中使用。在打包过程中我们可以进行代码压缩、优化、分割等操作以进一步提高应用程序的性能和加载速度。2.代码解析语法()import(组件路径)只有在访问到该路由, 对应的组件才临时加载(下载并运行)使用懒加载写法就不需要在配置表文档引入组件二.路由元信息meta
meta
1.概念以及要点1 概念与特点路由元信息元开始原始添加在路由规则中的一个属性使用对象格式储存着特定的信息任何时候访问当前路由都会自动携带该路由元信息2 语法meta:{key:value,key:value}2.代码演示export default [{ path:/index,name:index,component: Index,children:[ {path:/index/gwc,name:gwc,meta:{ title:购物车,requireAuth:true },------------可以用于携带该条路由对应的页面标题也可以携带该网页是否需要登录或者权限之类的判断属性component: Gwc,},]$ router和$ route的异同
1.概述总结1 异同总结1 异1 $router (叫做路由管理对象)路由管理对象中储存着的是 API用来管理路由2 $route (叫做路由对象)路由对象中储存的都是数据路由跳转那个地址路由对象就指向那条路由规则2 同1 这两个对象都可以通过该项目内的任意组件实例获取2 写法非常类似2 用法1 $router1 this.$router.push(/detail)2 this.$router.go(-1)3 this.$router.back()--------返回上一条路由地址等同于go(-1)4 this.$router.forward()--------去到下一条路由地址等同于go(1)2 $route1 this.$route.meta --------------------获取路由元信息2 this.$route.path ----------------------路由地址3 this.$route.name --------------------路由别名4this.$route.params ---------------------路由参数2.代码演示export default {mounted(){this.$router 路由管理对象 ( 包含了用于管理路由的所有api )this.$router.push(/detail)this.$router.go(-1); --------------跳路由的方法this.$router.back(); -------------------作用相当于 go(-1)返回上一条路由this.$router.forward(); --------------作用相当于go(1)跳下一跳路由this.$route 路由对象( 包含了和当前路由有关的所有信息, 路由地址, 路由参数, 路由元信息 )this.$route.meta --------------------获取路由元信息this.$route.path ----------------------路由地址this.$route.name --------------------路由别名this.$route.params ---------------------路由参数console.log(this.$router);}}push和go的区别
1.概述与总结push() 方法和 go() 方法在导航方式、参数传递、生命周期函数等方面有所不同1 push() 方法会向历史记录中添加一个新的条目并在浏览器地址栏中显示新的 URL。而 go() 方法则是在历史记录中移动不会添加新的条目也不会改变浏览器地址栏中的 URL。2 push() 方法可以用来跳转到新的页面而 go() 方法通常用于在页面中进行前进或后退操作3 push() 方法可以接收一个对象作为参数用来设置新的路径和查询参数等信息。而 go() 方法只能接收一个整数作为参数用来指定要前进或后退的步数。正数表示前进负数表示后退。4 push() 方法会触发路由的生命周期函数例如 componentDidMount() 和 componentWillUnmount() 等。而 go() 方法不会触发这些生命周期函数。2.代码解析this.$router.push(/detail)this.$router.go(-1); --------------跳路由的方法this.$router.back(); -------------------作用相当于 go(-1)返回上一条路由this.$router.forward(); --------------作用相当于go(1)跳下一跳路由三.路由守卫函数
前置路由守卫函数
1.要点总结特点语法作用1 全局前置路由守卫函数1 特点全局前置路由守卫函数在路由管理对象实例化的位置写全局前置路由守卫函数会在跳任何一个路由之前执行2 语法路由管理对象.beforeEach((to,from,next){希望在跳路由之前进行的操作})参数1 to去往哪个路由 这个参数代表路由对象2 from从哪个路由来 这个参数代表路由对象3 next是个函数 用来控制路由的跳转。如果在 beforeEach 的回调函数中调用这个函数代表允许跳转如果没有调用代表不允许跳转此时页面表现为空白跳转不过去也不会报错3 作用通常在这个函数里面进行什么操作1 动态修改网页标题2 添加进度条动画3 进行鉴权判断用户是否有跳转页面的权限有部分页面需要登录才可以跳转在这里可以判断页面是否是需要登录才可以跳转的以及用户是否已经登陆过是否有 token2 路由独享前置守卫函数1 特点只在添加了该函数的对应路由跳转前执行需要在对应的路由规则里面写形式与 children 属性类似2 语法beforeEnter:(to,from){希望在该路由跳转之前执行的操作}允许路由跳转在回调函数中条件return true;不允许路由跳转在回调函数中添加return false;内容相同的前置路由守卫函数可以写全局前置路由守卫函数内容有差别的需要单独写路由独享2.代码解析全局前置路由守卫函数import nProgress from nprogress;----------------导入进度条动画库import nprogress/nprogress.css;---------------手动导入进度条动画库的样式文件nProgress.configure({ showSpinner: false });----------关闭圆形加载动画const router createRouter({------------实例化路由管理对象history: createWebHistory(import.meta.env.BASE_URL),-----------设置路由模式: history, hashroutes----------------注册路由配置表})router.beforeEach((to,from,next){-----------全局前置守卫路由document.title to.meta.title;---------------修改网页标题nProgress.start();----------------------------开启进度条动画var token localStorage.getItem(token);--鉴权( 有访问当前路由的权限,则可以访问, 否则不能访问 )if( to.meta.requireAuth ){ --------------------需要登录的情况if( token ){-----------------------已登录有tokennext();-----------------调用next()允许路由跳转}else{next(/login);------------未登录跳转至登录页面这里还可以用router.push(/login);}}else{ ---------------------不需要登录的情况next();--------------------可以直接允许路由跳转}})路由独享前置守卫函数{path:/index/gwc,name:gwc,meta:{ title:购物车,requireAuth:true },beforeEnter:(to,from){----------路由独享的守卫函数var token localStorage.getItem(token);if( to.meta.requireAuth token ){return true;---------------允许路由跳转}else{return false;-----------------阻止路由跳转}},component: Gwc,},后置路由守卫函数
1.要点全局后置守卫路由在跳路由完成后执行可以在这个函数里面设置进度条动画的结束语法路由管理对象.afterEach((to,from){希望在跳完路由执行的操作})由于此处已经执行完路由跳转所以不需要控制是否允许路由跳转的参数 next2.代码解析router.afterEach((to,from){nProgress.done();------------------停止进度条动画})四.vant组件库的应用 1. 安装vantnpm i vant2. 安装插件npm i unplugin-vue-components -D3. 配置插件import vue from vitejs/plugin-vue;import Components from unplugin-vue-components/vite;import {VantResolver} from unplugin-vue-components/resolvers;export default {plugins:[vue(),Components({resolvers:[VantResolver()],})],};4. 使用组件van-button typeprimary/unplugin-vue-components 会解析模板并自动注册对应的组件
文章转载自: http://www.morning.mjglk.cn.gov.cn.mjglk.cn http://www.morning.xdnhw.cn.gov.cn.xdnhw.cn http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn http://www.morning.lnbcg.cn.gov.cn.lnbcg.cn http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn http://www.morning.c7491.cn.gov.cn.c7491.cn http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.fmdvbsa.cn.gov.cn.fmdvbsa.cn http://www.morning.zqkr.cn.gov.cn.zqkr.cn http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn http://www.morning.nmyrg.cn.gov.cn.nmyrg.cn http://www.morning.hchrb.cn.gov.cn.hchrb.cn http://www.morning.qypjk.cn.gov.cn.qypjk.cn http://www.morning.grlth.cn.gov.cn.grlth.cn http://www.morning.rpms.cn.gov.cn.rpms.cn http://www.morning.mmynk.cn.gov.cn.mmynk.cn http://www.morning.gypcr.cn.gov.cn.gypcr.cn http://www.morning.rhdln.cn.gov.cn.rhdln.cn http://www.morning.mywnk.cn.gov.cn.mywnk.cn http://www.morning.jxmjr.cn.gov.cn.jxmjr.cn http://www.morning.duqianw.com.gov.cn.duqianw.com http://www.morning.gfkb.cn.gov.cn.gfkb.cn http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn http://www.morning.jyjqh.cn.gov.cn.jyjqh.cn http://www.morning.mtdfn.cn.gov.cn.mtdfn.cn http://www.morning.kzcz.cn.gov.cn.kzcz.cn http://www.morning.zyytn.cn.gov.cn.zyytn.cn http://www.morning.nlkm.cn.gov.cn.nlkm.cn http://www.morning.mtyhk.cn.gov.cn.mtyhk.cn http://www.morning.kfcz.cn.gov.cn.kfcz.cn http://www.morning.mrpqg.cn.gov.cn.mrpqg.cn http://www.morning.btmwd.cn.gov.cn.btmwd.cn http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn http://www.morning.wklrz.cn.gov.cn.wklrz.cn http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn http://www.morning.wrfk.cn.gov.cn.wrfk.cn http://www.morning.bgpch.cn.gov.cn.bgpch.cn http://www.morning.fncgw.cn.gov.cn.fncgw.cn http://www.morning.bzsqr.cn.gov.cn.bzsqr.cn http://www.morning.rwbh.cn.gov.cn.rwbh.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.yrjym.cn.gov.cn.yrjym.cn http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn http://www.morning.sfrw.cn.gov.cn.sfrw.cn http://www.morning.jqjnx.cn.gov.cn.jqjnx.cn http://www.morning.nfzzf.cn.gov.cn.nfzzf.cn http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn http://www.morning.trrhj.cn.gov.cn.trrhj.cn http://www.morning.zwmjq.cn.gov.cn.zwmjq.cn http://www.morning.ydnxm.cn.gov.cn.ydnxm.cn http://www.morning.bpxmw.cn.gov.cn.bpxmw.cn http://www.morning.plqhb.cn.gov.cn.plqhb.cn http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn http://www.morning.smmby.cn.gov.cn.smmby.cn http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn http://www.morning.bpzw.cn.gov.cn.bpzw.cn http://www.morning.jcpq.cn.gov.cn.jcpq.cn http://www.morning.krjyq.cn.gov.cn.krjyq.cn http://www.morning.srnhk.cn.gov.cn.srnhk.cn http://www.morning.rqckh.cn.gov.cn.rqckh.cn http://www.morning.gjsjt.cn.gov.cn.gjsjt.cn http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn http://www.morning.dhmll.cn.gov.cn.dhmll.cn http://www.morning.tgcw.cn.gov.cn.tgcw.cn http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn http://www.morning.hrrmb.cn.gov.cn.hrrmb.cn http://www.morning.gkdqt.cn.gov.cn.gkdqt.cn http://www.morning.hysqx.cn.gov.cn.hysqx.cn http://www.morning.rjnx.cn.gov.cn.rjnx.cn http://www.morning.ahlart.com.gov.cn.ahlart.com http://www.morning.ycpnm.cn.gov.cn.ycpnm.cn http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn http://www.morning.fthcn.cn.gov.cn.fthcn.cn http://www.morning.jprrh.cn.gov.cn.jprrh.cn http://www.morning.smszt.com.gov.cn.smszt.com http://www.morning.nlbw.cn.gov.cn.nlbw.cn http://www.morning.oioini.com.gov.cn.oioini.com