HarmonyOS 鸿蒙Next:如果两个页面的大部分样式是一样的

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

HarmonyOS 鸿蒙Next:如果两个页面的大部分样式是一样的

如果两个页面的大部分样式是一样的,是分成两个模块写,把共有的组件提取出来。

还是用一个页面,主体的内容采用条件渲染。

如果用的是第二种方法,我要如何进行路由跳转的时候进行判断和渲染

6 回复
A页面:
router.pushUrl({
url: 'xxx/B',
params: {
xx: xxxx
}
})

B页面:

this.data = (router.getParams() as Record<string, T>)['xx']
都行,看你自己
业务逻辑如果不是高度重合,且后期不会变化可以条件判断,但如果有变更的可能还是写成两个page的好
router 跳转可以传参啊<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
一个页面,抽取公共组件,根据路由判断渲染就可以

在HarmonyOS鸿蒙开发中,如果两个页面的大部分样式相同,可以通过以下几种方式实现代码复用和简化:

  1. 使用Style和Theme:在styles.xml中定义共用的样式,然后在页面的XML布局文件中引用这些样式。对于全局性样式,可以考虑使用Theme。

  2. 布局复用:通过<include>标签将共用的布局部分提取到单独的XML文件中,然后在需要的地方引用它。

  3. 自定义组件:将两个页面中相同的UI逻辑封装成一个自定义组件(Custom Widget),然后在页面中直接使用这个组件。

这样能有效减少代码重复,提高开发效率。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部