在鸿蒙开发中如果使用route的方式传递参数用如下写法
1.route方式
首先引入route
import router from '@ohos.router';
跳转传参
router.push({
url: "pages/[页面命名]", // 打开新页面
params: {value: 'test'} // 给新页面传递一个对象,key为value,取值以.value的形式
})
接收参数:
private value: string = router.getParams()['value'];
我们在Text(this.value) 中可以拿到字符串 “test”
2. emitter 方式
引入emitter
import emitter from '@ohos.events.emitter'
发送:
发送一个多参数的对象
item 为要发送的对象
InnerEvent 发送的事件
EventData 事件携带的数据
let eventData = {
data: item};
let innerEvent = {
eventId: 1,
priority: emitter.EventPriority.HIGH
};
emitter.emit(innerEvent, eventData);
订阅:
定义一个 stringName
@State stringName:string=“测试”
TestInfo:发送方法中item 对应的实体
emitter.once(innerEvent, (eventData) => {
const data=JSON.stringify(eventData.data)//拿到返回obj对象
let json:TestInfo=JSON.parse(data);//转换为实体
this.stringName =json.name//赋值
});
end