HarmonyOS鸿蒙Next中学生在MvvM学习的困难
HarmonyOS鸿蒙Next中学生在MvvM学习的困难 感觉还是很难的,有没有学习写这个程序的具体步骤
1、比如用template生成的flexiable 如何去改?
2、使用code_lab中的login感觉越层(从单个文件index或者Navigation只有3-4个文件,到Mvvm设计到了十几个文件)又太大。
希望有更详细的步骤的,请大家推荐一下。谢谢
4 回复
不是交互,是如何启用mvvm,例如Viewmodel下的文件,是如何一步步的写出来的
更多关于HarmonyOS鸿蒙Next中学生在MvvM学习的困难的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
你说的是文件之间的交互吗?
针对你在HarmonyOS Next中学习MVVM时遇到的困难,以下是具体的技术解答:
1. 关于修改Flexiable模板 Flexiable工程模板提供了基础架构,修改建议如下:
- UI结构调整:在
entry/src/main/ets/pages目录下直接修改页面组件,使用@State等装饰器管理本地状态 - 数据层扩展:在
entry/src/main/ets/model目录添加具体业务Model类,实现数据获取逻辑 - ViewModel层:在
entry/src/main/ets/viewmodel目录创建对应ViewModel,使用@Watch监听数据变化 - 关键步骤:保持
View层只负责展示,业务逻辑逐步迁移到ViewModel中
2. 处理MVVM文件结构复杂度 CodeLab的Login示例展示了完整架构,但实际开发可以简化:
- 按功能模块分组:在
pages目录下为每个页面创建子目录,包含该页面的View、ViewModel、Model文件 - 状态管理简化:初期可先用
@State+@Prop实现基础数据流,逐步引入@Watch和自定义ViewModel - 共享代码提取:将多个页面共用的组件放在
components目录,通用工具类放在utils目录
3. 具体学习步骤建议
- 第一阶段:先掌握单个页面的
View+@State基础数据绑定 - 第二阶段:练习父子组件间的
@Prop/@Link数据传递 - 第三阶段:实现简单的ViewModel,使用
@Watch监听数据变化 - 第四阶段:引入完整MVVM,分离Model层处理网络请求和数据持久化
4. 代码结构示例
entry/src/main/ets/
├── pages/
│ └── HomePage/
│ ├── HomePage.ets # View层
│ ├── HomeViewModel.ets # ViewModel层
│ └── HomeModel.ets # Model层
├── components/ # 共享组件
└── utils/ # 工具类
从简单页面开始实践,逐步增加复杂度,这样能更好理解MVVM各层的职责划分和数据流向。

