在做一个静态卡片跳转功能时,我用了 FormLink 设置 action: "router",也填了 abilityName,但点击后没跳转,也没报错。代码大概是这样的:
FormLink({
action: "router",
abilityName: "EntryAbility",
params: {
message: "testJump"
}
}) {
Button("跳转")
}
请问是不是还要配置什么 module.json5 或者权限之类的?为什么不生效?
据我所知,使用 FormLink 的 router 类型时,除了设置 abilityName 外,还需要确保目标 Ability 是支持跳转的,并且不推荐用于刷新卡片自身 UI。
看一下下面几点,
目标应用已安装;
目标 UIAbility 的模块名、包名正确匹配(可设置 bundleName, moduleName);
静态卡片只能调用外部 UIAbility,不能回调自身;
不要用 router 类型执行“刷新卡片”这类操作,推荐用 message 类型。
也可以用 uri:
并在目标应用的 module.json5 中配置对应的 uri。