HarmonyOS 鸿蒙Next--MVVM模式 数据独立请求

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next–MVVM模式 数据独立请求

1、代码:

@Observed
export class BaseModel {
  private static instance: BaseModel;

  public static getInstance(): BaseModel {
    if (!BaseModel.instance) {
      BaseModel.instance = new BaseModel();
    }
    return BaseModel.instance;
  }

  /**
   * 获取字典数据
   * @param key
   * @returns
   */
  getDict(key: string): Promise<DictBean[]> {
    return new Promise((resolve, reject) => {
      let params: ParamsModel = {
        param: {
          "fieldName": key,
        }
      }
      HttpUtils.post(HttpUrl.OS_DICT, params)
        .then((res) => {
          let c = JSON.parse(res) as HttpDataList<DictBean>
          if (c.code === 200) {
            resolve(c.data as DictBean[])
          } else {
            reject();
          }
        })
    });
  }
}

1、调用

  private baseModel: BaseModel = BaseModel.getInstance();

  aboutToAppear(): void {
    this.baseModel.getDict(DictKey.APPLY_STATE_MY).then((res: DictBean[]) => {
      this.dictList = res
    })
  }

更多关于HarmonyOS 鸿蒙Next--MVVM模式 数据独立请求的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

为啥用单例

更多关于HarmonyOS 鸿蒙Next--MVVM模式 数据独立请求的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


应该是为了避免重复创建吧,如果界面每切一次都要新建的话,会占用内存,

在HarmonyOS(鸿蒙)系统中实现MVVM模式的数据独立请求,关键在于将Model(模型)、View(视图)和ViewModel(视图模型)分离,并通过ViewModel来管理数据请求和业务逻辑,使得View层专注于展示数据而不直接处理数据请求。

具体来说,你可以按照以下步骤实现:

  1. 定义Model:创建数据模型类,用于存储应用中的数据。这些数据可以通过网络请求、数据库查询等方式获取。

  2. 创建ViewModel:ViewModel是连接Model和View的桥梁。在ViewModel中,你可以定义数据请求的逻辑,比如使用网络库发送HTTP请求,并在请求完成后更新Model中的数据。

  3. 设计View:View层负责展示数据。你可以使用HarmonyOS提供的UI组件来构建界面,并通过数据绑定机制将ViewModel中的数据展示到界面上。

  4. 实现数据绑定:在HarmonyOS中,你可以使用数据绑定框架(如果支持)或者手动监听ViewModel中的数据变化,并更新View层。

  5. 处理生命周期:确保ViewModel在View的生命周期内正确管理数据的请求和更新。

通过上述步骤,你可以在HarmonyOS中实现MVVM模式的数据独立请求。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部