HarmonyOS 鸿蒙Next:如果两个页面的大部分样式是一样的
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鸿蒙开发中,如果两个页面的大部分样式相同,可以通过以下几种方式实现代码复用和简化:
-
使用Style和Theme:在
styles.xml
中定义共用的样式,然后在页面的XML布局文件中引用这些样式。对于全局性样式,可以考虑使用Theme。 -
布局复用:通过
<include>
标签将共用的布局部分提取到单独的XML文件中,然后在需要的地方引用它。 -
自定义组件:将两个页面中相同的UI逻辑封装成一个自定义组件(Custom Widget),然后在页面中直接使用这个组件。
这样能有效减少代码重复,提高开发效率。如果问题依旧没法解决请加我微信,我的微信是itying888。