vue前端开发自学,异步加载组件,提升用户端的客户体验度
vue前端开发自学,异步加载组件,提升用户端的客户体验度!现实项目开发时,组件的数量非常庞大,如果都是一口气加载完,对手机用户来说,体验度会很差。因此,非常有必要使用异步加载。
那就是,用到了哪个组件,再去加载它就行了。用不到的时候,不加载它。下面看看代码案例。
<template>
<h3>动态切换组件的显示</h3>
<keep-alive>
<component :is="ComponetShow"></component>
</keep-alive>
<button @click="changeShow">切换组件显示</button>
</template>
<script>
import {defineAsyncComponent} from "vue"
import ComA from './components/ComA.vue'
//异步加载组件B
const ComB = defineAsyncComponent(
() => {
return import("./components/ComB.vue")
}
)
export default{
data(){
return{
ComponetShow:"ComA"
}
},
components:{
ComA,
ComB
},
methods:{
changeShow(){
this.ComponetShow = this.ComponetShow == "ComA" ? "ComB":"ComA"
}
}
}
</script>
如图,这个就是测试代码所有内容。我们针对组件ComB.vue做了一些小的修正。使用了一个官方提供的函数。需要提前引入这个函数。调用该函数。
const ComB = defineAsyncComponent(
() => {
return import("./components/ComB.vue")
}
)
这段代码,很明显是被包围起来 了,使用官方提供的这个函数,就可以实现异步加载的效果。
下面给大家展示一下,在控制台里观测到的网络请求情况。
如图所示。初始化!页面 渲染已经完毕了。但是并未看见请求ComB.vue的事情!这个就是异步的好处。
如图,当我们切换组件显示。改成显示ComB.vue时,才触发了该网络请求。
淞淞淞: 为啥图片只有几十k,,好小
孤岛醉翁: 博主,element的主题色确实是变了,但是我路由到其他页面刷新一下,scss的导入就失效了,路由是hash模式的
普通网友: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,文章思路清晰【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】
2401_84024576: 阅读这篇博文真是一次愉快的体验!作者的文字真是动人心弦,语言精准而生动。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】
普通网友: 阅读这篇博文真是一次愉快的体验!作者的文字真是动人心弦,语言精准而生动。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】