开发中的注意事项:代码性能的优化

    1. 减少对第三方的依赖,降低耦合度

    2. 加强组件的重复利用率

    3. 按需加载

    4. 缓存 (尽量发送请求后保存数据)

    5. 开发过程中,尽量有着面向对象的思想,这个组件的方法尽量在这个组件上

  vuex   mit-ui   axios   better-scroll 还算是开发利器

  开发细节:文件细分, .vue 文件首字母大写,文件名保持字母小写

  alias:别名

  import Home from "@/components/Home.vue";

  import Find from "@/components/Find.vue";

  这种引入方式,会把组件中的 js 代码放在一个 js 文件中,看其中一个页面,相当于也把其他的组件 js 代码页加载了,项目太大,影响性能,我们需要按需加载,

  意思就是,打开 home 组件,只加载 home里的 js ,就不加载其他的组件中的 js 代码

  上面的代码,会将多个组件中的 js 代码放在一个 js 文件中

  let Home =()=> import("@/components/Home.vue");

  let Find =()=> import("@/components/Find.vue");

  这种写法就是路由的按需加载

  缓存:keep-alive

  html 的结构

    <keep-alive>

      <keep-view></keep-view>

    </keep-alive>

  在路由中的 router文件的 index.js 的写法为

  

  粘性定位:

    position:sticky

  meta 元信息

  导航守卫:让 title 的标签内容,随着我们的路由变化而变化

  配置路由中的时候,有个 meta 的属性,路由中的元信息

  设置组件中的元信息:

    

  在当前组件获取元信息:this.$route.meta

  修改 title 标签中的内容:document.title = this.$route.meta.title

  和缓存的写法差不多

  导航守卫

    router 实例中提供了一个方法:beforeEach()

  在路由的跳转的时候,会触发这个事件

  router.beforeEach((to,from,next)=>{

   /* to:路由的配置信息,即将进入的路由

    from:路由的配置信息,当前导航离开的路由,第一次为 null

    next():是一个函数,必须调用,否则路由中断跳转

    */

   document.title = to.meta.title;

   next()  

  })

  注意事项:当我们进行子路由中的子路由的时候,我们的 title 的内容会显示为 undefined ,需要我们在 子路由中的子路由中 也要进行 meta 的配置

  exact 激活高亮 在 router-link 的组件上

  redirect :重定向,基本上是在父组件的定向子组件的内容

vue 按需加载,缓存,导航守卫的更多相关文章

  1. Vue按需加载提升用户体验

    Vue官方文档异步组件: 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了让事情更简单, Vue.js 允许将组件定义为一个工厂函数,动态地解析组件的定义.Vue.js 只在组 ...

  2. vue按需加载组件-webpack require.ensure

    使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build 会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash].j ...

  3. vue按需加载组件,异步组件

    说实话,我一开始也不知道什么叫按需加载组件,组件还可以按需加载???后来知道了 学不完啊...没关系,看我的 按需加载组件,或者异步组件,主要是应用了component的 is 属性 template ...

  4. vue 按需加载

    vue 构建单页面应用,但是问题是随着系统的体积变大,js文件也体积太大了,这时候就需要按需要进行加载了 vue-router提供了懒加载的方式 const Foo = resolve => r ...

  5. 三步解决 vue 按需加载

    1  webpack 的 output 配置 chunkFleName 树干名称: " chunks/[name]-[chunkhash:8].js  " 这一步是配合第三步, 生 ...

  6. 原创《分享(Angular 和 Vue)按需加载的项目实践优化方案》

    针对前端优化的点有很多,例如:图片压缩,雪碧图,js/css/html 文件的压缩合并,  cdn缓存, 减少重定向, 按需加载 等等 最近有心想针对 ionic项目 和 vue项目,做一个比较大的优 ...

  7. vue中的懒加载和按需加载

    懒加载 (1)定义:懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. (2)异步加载的三种表示方法: 1. resolve => require([URL], resolve),支持性好 ...

  8. vue单页面打包文件大?首次加载慢?按需加载?是你打开方式不对

    部署各vue项目,走了一遍坑.... vue单页面应用刷新404 找到nginx多网站配置文件:类似nginx/sites-available/www.baidu.com server { liste ...

  9. 使用Typescript写的Vue初学者Hello World实例(实现按需加载、跨域调试、await/async)

    万事开头难,一个好的Hello World程序可以节省我们好多的学习时间,帮助我们快速入门.Hello World程序之所以是入门必读必会,就是因为其代码量少,简单易懂.但我觉得,还应该做到功能丰富, ...

随机推荐

  1. 记录:初入Java环境部署踩坑

    1.在部署环境之前,先确定大佬们用的哪几种软件,然后依次下载,安装,IDEA, JDK, Tomcat, Maven.    什么是JDK?    JDK是 Java 语言的软件开发工具包,主要用于移 ...

  2. textarea框自适应高度

    export function autoTextarea(elem, extra, maxHeight){ /**textarea文本域随内容的多少而调整高度 */ extra = extra || ...

  3. java指定运行jar包中的其中一个main方法

    java -cp jar包 类名 java -cp ******.jar com.******.EsEtl

  4. Manjaro18+kde 更换壁纸重启失效

    更换壁纸 ​ 在kde的桌面右键->配置桌面 壁纸里更换壁纸,我不能直接添加图像并应用.我的系统在这样操作后重启就会发现一切都被重置了.刚刚添加的图片也不见了. ​ 于是,我就模范原本存在壁纸文 ...

  5. OSI七层协议模型、TCP/IP四层模型

    OSI七层协议模型 TCP/IP四层模型 首先我们梳理一下每层模型的职责: 链路层:对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据: 网络层:定义IP地址,确认主机所在的网络位置,并通过I ...

  6. 使用幕布时,在Session过期后,弹出框加载出登陆的HTML的问题

    思路:在登陆页面判断当前加载的Url是否时login/index ,如果不是跳转到登陆页 //设置或获取对象指定的文件名或路径. var Url = window.location.pathname; ...

  7. 【杂题】cf1041fF. Ray in the tube

    死于没有处理边界 题目描述 题目大意 在两面镜子上各选定一个整数位置的点 A 与 B,并从其中一个点向另一个射出一条光线,使得接收到光线的传感器数量尽可能的多.传感器不重叠. 题目分析 我们来初步考虑 ...

  8. GIT 工作流程常用用命令大全

    一.Git基本工作流程 1.Git工作区域   2.向仓库中添加文件流程 二.Git初始化及仓库创建和操作 1.Git安装之后需要进行一些基本信息设置 a.设置用户名:git  config -- g ...

  9. 王某的NLP之路前言

    感谢基友jayjay和海英学姐的指路,其实我的方向一直比较迷茫. 因为自己是会计学出身的,前三年也没接触编程,第一次接触还是在2016年,尝试用聚宽的量化接口,当时顺便学了python 的一点知识. ...

  10. js中toFixed()函数出现小数点后的多位数的原因

    不演示示例了. 强调一点就是:toFixed()返回的str类型,所以如果想写成百分之多少的情况下,建议直接在分子上乘100后,在除以总和,再使用toFixed()函数保留几位小数.不然会出现如下:7 ...