项目中:home切换到search或者search切换到home,会发现组件在频繁的向服务器发请求,获取三级联动的数据进行展示。
项目中如果频繁的向服务器发请求,很耗性能的,因此需要进行优化。
为什么会频繁的向服务器发请求获取三级联动的数据???
因为路由跳转的时候,组件会进行销毁的【home组件的created:再向vuex派发action,因此频繁的获取三级联动的数据】,切换页面要重新进行挂载,重新请求数据。
解决
把原来页面中的请求放在App中
// 组件挂载完毕,向服务器发请求
mounted() {
// 通知vuex发请求,获取数据,存储于仓库中
this.$store.dispatch("categoryList"); //App.vue只执行一次,只发一次请求
}
项目性能优化手段有哪些?
- v-if|v-show选择
v-if 是操作元素的DOM节点创建元素和删除元素
v-show是操作元素的display属性 - 按需加载 lodash、ant
- 防抖与节流
- 请求次数优化