HarmonyOS router.getParams对象类型判断问题

router.getParams()返回对象是Object, 如果PageA 有内容点击跳转PageB, 也有内容点击跳转PageC, 而PageB 与 PageC 会返回不同的数据类型 给PageA, 这时候如何区分返回数据类型比较合适

HarmonyOS
18h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可以将返回的数据类型做一层封装。

假设原本PageB返回的参数类型是ClassB,PageC返回的参数类型是ClassC。可以将返回的参数类型按如下方式封装:

class ClassBC {
  type: string,
  data: ClassB | ClassC;
}

data既可以是ClassB类型,也可以是ClassC类型。可以通过传入的type去区分实际是什么类型;

router.getParams()返回object时,可以通过router.getParam() as ClassBC将返回的参数转换成封装好的类型。

然后根据type的值,将data指定转换成你希望的类型。

分享
微博
QQ
微信
回复
15h前
相关问题
router.getParams使用问题
830浏览 • 1回复 待解决
HarmonyOS router.getParams()清空问题
54浏览 • 1回复 待解决
HarmonyOS router.getParams()数据传递
523浏览 • 1回复 待解决
网络类型细分判断问题咨询
344浏览 • 1回复 待解决
HarmonyOS 如何判断设备类型
414浏览 • 1回复 待解决
HarmonyOS 泛型类型判断
44浏览 • 1回复 待解决
HarmonyOS如何判断设备类型?
440浏览 • 1回复 待解决
HarmonyOS 怎么进行类型判断
619浏览 • 1回复 待解决
Router传递Object对象解读
1471浏览 • 1回复 待解决
HarmonyOS router参数不能是map类型
317浏览 • 1回复 待解决
HarmonyOS ArkTS如何判断Object类型
269浏览 • 1回复 待解决
router路由中的params对象
355浏览 • 1回复 待解决
HarmonyOS json对象转map类型
181浏览 • 1回复 待解决
HarmonyOS 如何判断手机屏幕类型
44浏览 • 1回复 待解决
HarmonyOS 线程内类型判断无效
42浏览 • 1回复 待解决