vue 按需加载,缓存,导航守卫
开发中的注意事项:代码性能的优化
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 按需加载,缓存,导航守卫的更多相关文章
- Vue按需加载提升用户体验
Vue官方文档异步组件: 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了让事情更简单, Vue.js 允许将组件定义为一个工厂函数,动态地解析组件的定义.Vue.js 只在组 ...
- vue按需加载组件-webpack require.ensure
使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build 会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash].j ...
- vue按需加载组件,异步组件
说实话,我一开始也不知道什么叫按需加载组件,组件还可以按需加载???后来知道了 学不完啊...没关系,看我的 按需加载组件,或者异步组件,主要是应用了component的 is 属性 template ...
- vue 按需加载
vue 构建单页面应用,但是问题是随着系统的体积变大,js文件也体积太大了,这时候就需要按需要进行加载了 vue-router提供了懒加载的方式 const Foo = resolve => r ...
- 三步解决 vue 按需加载
1 webpack 的 output 配置 chunkFleName 树干名称: " chunks/[name]-[chunkhash:8].js " 这一步是配合第三步, 生 ...
- 原创《分享(Angular 和 Vue)按需加载的项目实践优化方案》
针对前端优化的点有很多,例如:图片压缩,雪碧图,js/css/html 文件的压缩合并, cdn缓存, 减少重定向, 按需加载 等等 最近有心想针对 ionic项目 和 vue项目,做一个比较大的优 ...
- vue中的懒加载和按需加载
懒加载 (1)定义:懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. (2)异步加载的三种表示方法: 1. resolve => require([URL], resolve),支持性好 ...
- vue单页面打包文件大?首次加载慢?按需加载?是你打开方式不对
部署各vue项目,走了一遍坑.... vue单页面应用刷新404 找到nginx多网站配置文件:类似nginx/sites-available/www.baidu.com server { liste ...
- 使用Typescript写的Vue初学者Hello World实例(实现按需加载、跨域调试、await/async)
万事开头难,一个好的Hello World程序可以节省我们好多的学习时间,帮助我们快速入门.Hello World程序之所以是入门必读必会,就是因为其代码量少,简单易懂.但我觉得,还应该做到功能丰富, ...
随机推荐
- C# 中使用反射的优缺点
本文摘至于:http://blog.csdn.net/springfileld/article/details/17720537 ----------------------------------- ...
- 3.Https服务器的配置
1.前言: 所谓区块链,简而言之就是一种数据结构,每一个区块都像账本的每一页纸记录了该网络上的交易信息,而众多区块在时间的基础上按照顺序连接起 来就形成了区块链.区块链能够以数字方式识别和跟踪交易,并 ...
- 如何在国内跑Kubernetes的minikube
跑minikube start老是被卡住,得到如以下的结果 minikube start --registry-mirror=https://registry.docker-cn.com miniku ...
- zoj 4122 Triangle City 2019山东省赛J题
题目链接 题意: 给出一个无向图,类似三角形的样子,然后给出边的权值,问找一条从第一个点到最后一个点的路径,要求每一条边只能走一次,并且权值和最大,点可以重复走. 思路: 首先观察这个图可以发现,所有 ...
- [CEOI1999]Sightseeing trip(Floyed)
[CEOI1999]Sightseeing trip Description There is a travel agency in Adelton town on Zanzibar island. ...
- sql 181. 超过经理收入的员工
Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+| Id | ...
- 安装WIN10+Ubuntu18.04安装教程(实测有效)
转载原文链接:https://www.cnblogs.com/masbay/articles/10745170.html 安装过程中尤其注意分区时候的挂载点一定要选对!!!选择Ubuntu的EFI所在 ...
- metapath2vec 笔记
Homogeneous networks: representative of singular type of nodes and relationships Challenges: multipl ...
- Dom修改元素样式
提纲:我们可以通过js来修改元素的大小,颜色,位置等样式 1.element.style 行内样式的操作 2.element.className ...
- shell通配符
wildcard 通配服 匹配.c文件 *.sh----常看当前目录下sh文件 *.c----常看当前目录下c文件 []---表示中括号 e.g [0,1,2,3,4]----能匹配0,1,2,3 ...