Vue3 异步组件 suspense

Vue3 异步组件 suspense_第1张图片

 vue在解析我们的组件时, 是通过打包成一个 js 文件,当我们的一个组件 引入过多子组件是,页面的首屏加载时间 由最后一个组件决定 优化的一种方式就是采用异步组件 ,先给慢的组件一个提示语或者 骨架屏 ,内容回来在显示内容

结合elementui 使用

Vue3 异步组件 suspense_第2张图片

代码  




引入  defineAsyncComponent   定义异步组件 ,这个api 接收 一个 一个函数 ,函数返回值 为 需要 后来显示的组件  , copyVue 为预先显示的组件 或者自定义内容 

 
        
        
    

使用 suspense  内置组件 在该组件内 使用 命名插槽 官方 定义的   

  #default  放后来显示的组件

 #fallback  放置 预先显示的内容

要想组件变成异步 组件 可以使用 顶层 await 技术  即 不用再 async 函数内使用 那个该组件就变成 异步组件

代码



copyvue



scss

.posi{
    height: 50px;
    background-color: rgb(209, 136, 136);
    margin-top: 20px;
 }
 .img{
     width: 30px;
     height: 30px;
     background-color: rgb(113, 52, 52);
 }

 public 下的 data.json 

{
    "data":{
         "name":"你好世界",
         "url":"./favicon.ico",
         "des":"世界是个荒原"
    }
}

public 下的  内容 回当成 服务的  '/xxx' 请求路径  get可以请求 到文件内容

http://localhost:5173/data.json


  

你可能感兴趣的:(Vue3,前端,javascript,开发语言)