04Navigation跳转
Navigation跳转
需求:由
Index页面跳转到Home页面/组件
bug点:API19版本中**,需要使用模拟器**完成本案例。预览器不支持。其他版本同学们自行测试预览器是否支持。
跳转页Index(源页面)
1-Navigation组件
必须使用
Navigation作为根容器组件。
@Entry
@Component
struct Index {
build() {
Navigation() {
Button('点击跳转Home组件')
}
.width('100%')
.height('100%')
}
}
2- NavPathStack 对象
需要在源页面中设置
NavPathStack对象
pagePath:NavPathStack = new NavPathStack()
3-关联
需要将该
NavPathStack对象跟Navigation组件关联起来
pagePath:NavPathStack = new NavPathStack()
Navigation(this.pagePath){
}
4-跳转页面
下面的跳转功能代码,
name属性对应的配置值,还没写呢,此处是伪代码。
Button('点击跳转Home组件')
.onClick(() => {
this.pagePath.pushPath({name:"目标页面的配置名称后续回来补上????"})
})
目标页面Home,
1-NavDestination组件
必须使用
NavDestination作为根容器组件。
@Component
struct Home {
build() {
NavDestination(){
Column({ space: 30 }) {
Text('Home组件效果')
}
.width('100%')
.height('100%')
}
}
}
2-入口函数
需要一个入口函数,方便在后续 的配置文件中使用。该函数在组件之外的位置。可以写在当前文件的第一行。
@Builder
export function homeBuilder(){
Home()
}
配置文件
设置配置文件,源页面的
name值和目标页面的路径,均需要由配置文件关联。