#鸿蒙通关秘籍#如何在鸿蒙应用中通过动态加载避免页面冗余加载?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
NAT风绘空

在鸿蒙应用开发时,常规加载会导致页面加载过慢,此时可以选择动态加载模块。实现动态加载的过程如下:

  1. 封装子页面为一个动态加载的函数,如 PageOneLoader

    import { pageOne } from './pageOne';
    
    @Builder
    export function PageOneLoader() {
      pageOne();
    }
    
  2. 在入口组件中定义 @BuilderParam 用以接收动态加载的结果:

    @BuilderParam PageOneLoader: () => void;
    
  3. 使用异步加载函数来赋值 PageOneLoader,在点击事件中调用此函数:

    async loadPageOne(key: string) {
      if (key === "pageOne") {
        let PageObj: ESObject = await import("../pages/PageOneLoader");
        this.PageOneLoader = PageObj.PageOneLoader;
      }
    }
    
  4. PageMap 中通过调用 this.PageOneLoader() 实现动态导入:

    @Builder
    PageMap(name: string) {
      if (name === 'pageOne') {
        this.PageOneLoader();
      }
    }
    

通过这些步骤,能够避开不必要的页面加载,提高首页的性能。

分享
微博
QQ
微信
回复
2天前
相关问题
如何在ArkTS动态加载so
438浏览 • 1回复 待解决
如何在HarmonyOS实现动态加载模块?
115浏览 • 1回复 待解决