HarmonyOS 鸿蒙Next router怎么实现har内2个页面之间跳转传参
HarmonyOS 鸿蒙Next router怎么实现har内2个页面之间跳转传参
类型har,A页面,B页面,A跳转B怎么跳转
2 回复
使用const module = import('har3/ets/components/Index3')引入har另一待跳转页面,即可跳转 参考har包内页面代码如下:
import { router } from '[@kit](/user/kit).ArkUI';
import { BusinessError } from '[@kit](/user/kit).BasicServicesKit';
//这个有必要,引入har另一待跳转页面
const module = import('har3/ets/components/Index3')
[@Component](/user/Component)
[@Entry](/user/Entry)({routeName:'Index2'})
export struct Index2 {
[@State](/user/State) message: string = '这是Har3的Index2页面';
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
try {
router.pushNamedRoute({
name: 'Index3',
})
} catch (err) {
let message = (err as BusinessError).message
let code = (err as BusinessError).code
console.error(`pushNamedRoute failed, code is ${code}, message is ${message}`);
}
})
}
.width('100%')
}
.height('100%')
}
Index3.ets(相当于B页面)
import { router } from '[@kit](/user/kit).ArkUI';
[@Component](/user/Component)
[@Entry](/user/Entry)({ routeName: 'Index3' })
export struct Index3 {
[@State](/user/State) message: string = '这是Har3的Index3页面';
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button('back').onClick(() => {
router.back()
})
}
.width('100%')
}
.height('100%')
}
}
}
更多关于HarmonyOS 鸿蒙Next router怎么实现har内2个页面之间跳转传参的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙系统中,Next router实现har内两个页面之间跳转传参,可以通过Intent机制来实现。
具体步骤如下:
-
创建Intent:在源页面,创建一个Intent对象,并调用其
putExtra
方法将要传递的参数放入Intent中。例如,如果要传递一个字符串参数,可以使用putExtra(String name, String value)
方法。 -
启动目标页面:使用
startAbility
方法并传入前面创建的Intent,以启动目标页面。这样,Intent中携带的参数就会被传递给目标页面。 -
在目标页面接收参数:在目标页面的
onStart
或onActive
等生命周期方法中,通过调用getIntent()
方法获取传递过来的Intent,然后调用Intent的getStringExtra
(或其他相应的getExtra
方法,根据传递的参数类型)来获取参数值。
示例代码(伪代码):
源页面:
let intent = new Intent();
intent.putExtra("key", "value");
startAbility(intent);
目标页面:
onStart() {
let intent = this.getIntent();
let value = intent.getStringExtra("key");
// 使用value
}
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html