文章目录
一、路由数据传递(router)
1、路由数据传递定义
即使用router.pushUrl进行路由跳转,从而实现页面间的数据传递。这个方法可以实现一个页面向另一个指定页面的数据传递和共享。
2、路由数据传递使用方法
(1)例如在LifeCircle页面的Build()组件下创建一个页面跳转的按钮,实现页面跳转,
//验证页面跳转的数据传递按钮
Button('页面跳转')
(2)在按钮中创建点击事件,点击事件内容就是使用router.pushUrl()进行页面跳转,跳转到另外一个新建的页面“pages/LifeCircle2”中。并且跳转时携带一个对象数据,包含有id、name、age3个数据元素。
//创建点击事件
.onClick(()=>{
//调用路由函数,进行页面的跳转,除了路径,同时带有一个对象,包括三个键值对元素
router.pushUrl({
url:"pages/LifeCircle2",
params: {
id:'001',
name:'页面壹',
age:25
}
})
})
(3)在另外一个页面LifeCircle2中接收数据,获取跳转对象的数据,利用键值对的键名进行取值。
let pageID = router.getParams()['id'] as string
let pageName = router.getParams()['name']
let pageAge = router.getParams()['age']
(4)最后在第二个页面LifeCircle2呈现从其他页面获取的数据。
Divider()
Text(pageID).fontSize(40).backgroundColor(Color.Yellow)
Text(pageName).fontSize(40).backgroundColor(Color.Yellow)
Text(pageAge).fontSize(40).backgroundColor(Color.Yellow)
(5)在第二个页面LifeCircle2内创建返回按钮和返回路由函数调用。
//验证页面跳转的数据传递按钮
Button('点击返回')
//创建点击事件
.onClick(() => {
//调用路由函数,进行页面的跳转,除了路径,同时带有一个对象,包括三个键值对元素
router.back()
})
3、数据传递两个页面的效果
LifeCircle效果:
LifeCircle2效果:
二、页面间数据共享(EntryAbility)
1、定义
这是一种全局的数据共享方法,可以在所有页面之间进行数据共享。实现